C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

困っています


(過去ログ 2 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■1938 / inTopicNo.1)  困っています
  
□投稿者/ kisisuku 二等兵(1回)-(2005/11/21(Mon) 15:35:50)

分類:[VB.NET] 


分類:[VB.NET] 

VB.NETのプログラムで白黒判別プログラムを作成することになったのですが、GetPicxelの使い方が間違っているらしく正しくカウントしてくれません。
ちなみに今作成している問題のプログラムは以下のプログラムです。

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim bmap As Bitmap = New Bitmap(PictureBox1.Width, PictureBox1.Height)
PictureBox1.Image = bmap

Dim fName As String
Dim app As String
app = System.Windows.Forms.Application.StartupPath
With OpenFileDialog1

' 初期表示するファイル名を設定する
.FileName = ""

' ファイルのフィルタを設定する
.Filter = "Open (*.bmp)|*.bmp"

' ダイアログを表示
.ShowDialog()

' Multiselect が True の場合はこのように列挙する
'For Each nFileName As String In OpenFileDialog1.FileNames
'MessageBox.Show(nFileName)
'Next nFileName
fName = .FileName
End With
PictureBox1.Image = image.FromFile(fName)
ErrHandler:
' ユーザーが [キャンセル] をクリックしました。
Exit Sub
End Sub

Function CountNumColor(ByRef DotWW As Long, ByRef DotHH As Long, ByRef CHECK_C As Long) As Integer
Dim Form1 As Object

Dim NumEQ As Double
Dim NumNot As Long

Dim x, y As Long

NumEQ = 0
NumNot = 0

System.Windows.Forms.Application.DoEvents()

For x = 0 To DotHH - 1
For y = 0 To DotWW - 1
System.Windows.Forms.Application.DoEvents()

If CHECK_C = Val("Bitmap.GetPixel(x,y)") Then
NumEQ = NumEQ + 1
Else
NumNot = NumNot + 1

Debug.Write("x,y,Val(Bitmap.GetPixel(x, y)")
End If
Next y
Next x

CountNumColor = NumEQ

End Function

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim Form1 As Object
Dim CheckColorB, CheckColorW As Long
Dim NumEQ, NumEQB, NumEQW As Double
Dim PicWW, PicHH As Long

Lbl_CountB.Text = "0"

Lbl_CountW.Text = "0"

Lbl_Status.Text = "Working..."

Button2.Enabled = False


'**** チェックする範囲を指定 ******
PicHH = 100

PicWW = 100


'**** 黒の数をカウント *****
CheckColorB = RGB(0, 0, 0)

NumEQ = CountNumColor(PicWW, PicHH, CheckColorB)

NumEQB = NumEQ

Lbl_CountB.Text = NumEQB

'**** 白の数をカウント ****
CheckColorW = RGB(255, 255, 255)

NumEQW = CountNumColor(PicWW, PicHH, CheckColorW)

NumEQW = NumEQ

Lbl_CountW.Text = NumEQW

'**** 黒の閉める割合% ****

Lbl_CountBBW.Text = Format((NumEQB / (NumEQB + NumEQW)), "##%")

Button2.Enabled = True

Lbl_Status.Text = ""

End Sub

このプログラムで問題がありましたらぜひとも教えてください。GetPicxel以外の間違いに気づいた人がいた場合もご意見をお待ちしております。また、この質問で分からないことがございましたら遠慮なく書き込んでください。気づき次第返答いたします。


0
引用返信 編集キー/
■1941 / inTopicNo.2)  Re[1]: 困っています
□投稿者/ マルチポスト 二等兵(1回)-(2005/11/21(Mon) 16:03:16)

分類:[VB.NET] 

http://okwave.jp/kotaeru_reply.php3?q=1792620

0
引用返信 編集キー/
■1943 / inTopicNo.3)  Re[1]: 困っています
□投稿者/ マルチポスト 二等兵(2回)-(2005/11/21(Mon) 17:06:19)

分類:[VB.NET] 

http://hpcgi1.nifty.com/MADIA/VBBBS/wwwlng.cgi?print+200511/05110066.txt

0
引用返信 編集キー/
■1944 / inTopicNo.4)  Re[1]: 困っています
□投稿者/ マルチポスト 二等兵(3回)-(2005/11/21(Mon) 17:06:43)

分類:[VB.NET] 

http://freedom.mitene.or.jp/~sugisita/papa/cgi/korobbs.cgi

0
引用返信 編集キー/
■2020 / inTopicNo.5)  Re[2]: 困っています
□投稿者/ kisisuku 二等兵(4回)-(2005/11/29(Tue) 15:35:34)

分類:[VB.NET] 

解決しました。
ありがとうございました。
また何かあったらお願いします。


解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -