Wrox Programmer Forums

Need to download code?

View our list of code downloads.

| FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read
BOOK: Visual Basic 2010 Programmer's Reference
This is the forum to discuss the Wrox book Visual Basic 2010 Programmer's Reference by Rod Stephens; ISBN: 9780470499832
Welcome to the p2p.wrox.com Forums.

You are currently viewing the BOOK: Visual Basic 2010 Programmer's Reference section of the Wrox Programmer to Programmer discussions. This is a community of tens of thousands of software programmers and website developers including Wrox book authors and readers. As a guest, you can read any forum posting. By joining today you can post your own programming questions, respond to other developers’ questions, and eliminate the ads that are displayed to guests. Registration is fast, simple and absolutely free .
DRM-free e-books 300x50
Reply
 
Thread Tools Search this Thread Display Modes
  #11 (permalink)  
Old February 16th, 2012, 07:06 PM
Authorized User
Points: 193, Level: 3
Points: 193, Level: 3 Points: 193, Level: 3 Points: 193, Level: 3
Activity: 0%
Activity: 0% Activity: 0% Activity: 0%
 
Join Date: Nov 2011
Posts: 31
Thanks: 6
Thanked 0 Times in 0 Posts
Question

Hi Rod,

Here is my entire code below. Everything is associated with a single form. It appears to be working perfectly through section #4. I think the problem is in #5 or #6. I do not know how to Send you the whole project. If you would tell me, that may make it easier for you to see what I have done.

Gary



Public Class Form1

Private Sub btnSelectPicture_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSelectPicture.Click


'================================================= ==========
'#1 'Opens Open Dialog Box and Loads Bitmap
'================================================= ==========


'Show the Open Dialog Box.
If ofdSelectPicture.ShowDialog = DialogResult.OK Then

'Load the picture into the picture box.
Dim bm_source As New Bitmap(ofdSelectPicture.FileName)



'================================================= =====
'#2 'CHANGES IMAGE TO BLACK AND WHITE
'================================================= =====


For y As Integer = 0 To bm_source.Height - 1
For x As Integer = 0 To bm_source.Width - 1
Dim clr As Color = bm_source.GetPixel(x, y)
If (CInt(clr.R) + clr.G + clr.B) > 400 Then
bm_source.SetPixel(x, y, Color.FromArgb(255, 255, 255, 255))
Else
bm_source.SetPixel(x, y, Color.FromArgb(255, 0, 0, 0))
End If
Next x
Next y


'================================================= =========
'#3 'Resizes the Bitmap to 640 pixels by 900 pixels
'================================================= =========


'Resize bitmap
Dim bm_dest As New Bitmap(640, 900)

'Make a Graphics objct for the result Bitmap
Dim gr_dest As Graphics = Graphics.FromImage(bm_dest)

'Copy the source image into the destination bitmap.
gr_dest.DrawImage(bm_source, 0, 0, 640, 900)

'Display the result
picShowPIcture.Image = bm_dest



'Show the name of the file in the form's caption.
Me.Text = "Picture View(" & ofdSelectPicture.FileName & ")"

End If


' txtSaveAs.Enabled = True
btnSelectPicture.Enabled = True


' ================================================== ===================
'#4 'Clones a 10 x 10 pixel area as a New Bitmap Image
'================================================= =====================


'Increase strTop number by ten each cycle
Dim strRow As Integer
strRow = strRow + 10

'Start Cloning
Dim strTop1 As Integer
strTop1 = strRow

Dim strLeft1 As Integer
strLeft1 = 1

Dim strWidth1 As Integer
strWidth1 = 10

Dim strHeight1 As Integer
strHeight1 = 10



'Copy part of the orgininal image
Dim top1 As Integer = Integer.Parse(strTop1)
Dim left1 As Integer = Integer.Parse(strLeft1)
Dim width1 As Integer = Integer.Parse(strWidth1)
Dim Height1 As Integer = Integer.Parse(strHeight1)

'Make a Bitmap to hold the result
Dim bm1 As New Bitmap(width1, Height1)

'Associate a Graphics object with the Bitmap
Using gr As Graphics = Graphics.FromImage(bm1)

'Define source and destination rectangles
Dim src_rect As New Rectangle(left1, top1, width1, Height1)
Dim dst_rect As New Rectangle(0, 0, width1, Height1)

'Copy that part of the image
gr.DrawImage(picShowPIcture.Image, dst_rect, src_rect, GraphicsUnit.Pixel)
End Using

'Display the result
pbClone.Image = bm1


End Sub
'================================================= =========================================
' #5 ' Return the number of matching pixels.
'================================================= =========================================


Private Function CountPixels(ByVal bm As Bitmap, ByVal target_color As Color) As Integer

' Loop through the pixels.
Dim matches As Integer = 0
For y As Integer = 0 To bm.Height - 1
For x As Integer = 0 To bm.Width - 1
If (bm.GetPixel(x, y).Equals(target_color)) Then matches += 1
Next x
Next y
Return matches

End Function
'================================================= ====================================
'Compare number of black pixels to the number of white pixels and if Black Pixels Count is
'#6 ' more than White Pixel Count -- Place a one in txtTextBox1
'================================================= =====================================


Private Sub btnCountPixels_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim bm As New Bitmap(pbClone.Image)
txtBlack.Text = CountPixels(bm, Color.FromArgb(255, 0, 0, 0))
txtWhite.Text = CountPixels(bm, Color.FromArgb(255, 255, 255, 255))

If txtBlack.Text > txtWhite.Text Then
txtTextBox1.Text = 1
Else : txtTextBox1.Text = 0
End If


'================================================= =================================
'Write number from txtTextBox1 to selected text file using Append. In the actual
'#7 'Application this should produce a 64 digit number.
'================================================= ==================================

Dim strSaveAs As String
strSaveAs = txtSaveAs.Text

Dim strTextBox1 As String
strTextBox1 = txtTextBox1.Text

Dim objFile As New System.IO.StreamWriter("C:\WaterWriter\Digital-Images\" & (strSaveAs) & ".txt")
objFile.Write(strTextBox1)
objFile.Close()

End Sub
End Class
Reply With Quote
  #12 (permalink)  
Old February 17th, 2012, 12:24 PM
Rod Stephens's Avatar
Wrox Author
Points: 3,166, Level: 23
Points: 3,166, Level: 23 Points: 3,166, Level: 23 Points: 3,166, Level: 23
Activity: 0%
Activity: 0% Activity: 0% Activity: 0%
 
Join Date: Jan 2006
Location: , , .
Posts: 647
Thanks: 2
Thanked 96 Times in 95 Posts
Default

Offhand I don't see anything wrong but it'll be easier to figure out in the debugger. To send the whole project:

- Delete the bin and obj directories. VB will recreate them before it executes the program and they're fairly big so deleting them will save space.

- Go to the directory above the project's directory. Right-click the project directory and select Send To > Compressed (zipped) Folder.

Email me the zip file at RodStephens@vb-helper.com and I'll take a look.
__________________
Rod

Rod Stephens, Microsoft MVP

Essential Algorithms: A Practical Approach to Computer Algorithms

(Please post reviews at Amazon or wherever you shop!)
Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Changing Page Color darkestangel1980 CSS Cascading Style Sheets 6 February 6th, 2008 12:40 PM
color changing windows casemaker Oracle 0 May 28th, 2006 08:29 PM
changing pixel color in if/then construct rharris VB.NET 2002/2003 Basics 1 June 19th, 2005 09:12 AM
Changing color conny Visual C++ 0 April 14th, 2005 07:57 PM
Need help changing color on text, please larry Javascript How-To 1 December 23rd, 2003 10:24 PM



All times are GMT -4. The time now is 08:31 PM.


Powered by vBulletin®
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
© 2013 John Wiley & Sons, Inc.