我现在要把图片转换成黑白图 步骤是读取图片每个像素点的亮度大于零点五的置一 小于等于的置零
通过如下步骤得到 请问怎样才能把求得的数组转化成字符串 然后在CLICK事件下写入文本文件呢
Public Sub CreateART()
Dim R As Long, G As Long, B As Long
Dim rR As Single, rG As Single, rB As Single
Dim L As Long, Max As Single, Min As Single
Dim N As Single, GD() As Integer
CancelDraw = False
ResetDraw = False
ImageFrm.Pic.ScaleMode = vbPixels
ReDim GD(0 To ImageFrm.Pic.ScaleWidth - 1, 0 To ImageFrm.Pic.ScaleHeight - 1)
For y = 0 To ImageFrm.Pic.ScaleHeight - 1
For x = 0 To ImageFrm.Pic.ScaleWidth - 1 '扫描所有像
L = ImageFrm.Pic.Point(x, y)
R = L And 256
G = L And 65280
B = L And 16711680
rR = R / 255: rG = G / 255: rB = B / 255
Max = Maximum(rR, rG, rB)
Min = Minimum(rR, rG, rB)
N = (Max + Min) / 2
If N <= 0.5 Then
GD(x, y) = 0
Else
GD(x, y) = 1
End If
Next x
Next y
通过如下步骤得到 请问怎样才能把求得的数组转化成字符串 然后在CLICK事件下写入文本文件呢
Public Sub CreateART()
Dim R As Long, G As Long, B As Long
Dim rR As Single, rG As Single, rB As Single
Dim L As Long, Max As Single, Min As Single
Dim N As Single, GD() As Integer
CancelDraw = False
ResetDraw = False
ImageFrm.Pic.ScaleMode = vbPixels
ReDim GD(0 To ImageFrm.Pic.ScaleWidth - 1, 0 To ImageFrm.Pic.ScaleHeight - 1)
For y = 0 To ImageFrm.Pic.ScaleHeight - 1
For x = 0 To ImageFrm.Pic.ScaleWidth - 1 '扫描所有像
L = ImageFrm.Pic.Point(x, y)
R = L And 256
G = L And 65280
B = L And 16711680
rR = R / 255: rG = G / 255: rB = B / 255
Max = Maximum(rR, rG, rB)
Min = Minimum(rR, rG, rB)
N = (Max + Min) / 2
If N <= 0.5 Then
GD(x, y) = 0
Else
GD(x, y) = 1
End If
Next x
Next y
只需要再加个变量,累加记录这个结果就ok了啊.
原程序:
Dim N As Single, GD() As Integer
....Next x
Next y改成(添加成)Dim N As Single, GD() As Integer, strResult as string
strResult=""
....strResult=strResult & cstr(GD(x, y))
Next x
Next y
'这里添加把strResult写入文本文件的代码,这个应该会吧,上次才看到你写了的
就这样就应该可以了.
ps: 这个是图象的二值化啊,哈哈, 二值化一般都用灰度值来分割啊.
for i=0 to ubound(gd,1)
for j=0 to ubound(gd,2)
print #1,cstr(gd(i,j));
next
print #1,""
next
close #1是要这样吗?
老板说不求灰度值 只要黑白图 我原来求的是灰度图片 他说错了
我说的是 因为这个数据是在PUBLIC事件下求得的 而写入文本文件是在CLICK事件下 我知道则么写入 可不知道则么把数据调用到CLICK事件下 好象没办法直接调用
上次多谢你了 可惜刚有点眉目老板又说我错了 哎
——————————————————————————————
回复人: fishmans(金脚指) ( ) 信誉:94
我要弹出保存文件窗口 自己选择路径和文件名的 所以这样好象也不行