我现在要把图片转换成黑白图 步骤是读取图片每个像素点的亮度大于零点五的置一 小于等于的置零
通过如下步骤得到 请问怎样才能把求得的数组转化成字符串 然后在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

解决方案 »

  1.   

    LZ是说把数字转换成字符串吗?可以用CStr()函数
      

  2.   

    还是不明白 如何在CLICK事件下调用字符串 并将其写入文件中
      

  3.   

    GD(x, 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: 这个是图象的二值化啊,哈哈, 二值化一般都用灰度值来分割啊.
      

  4.   

    open "d:\dd.txt" for output as #1
       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是要这样吗?
      

  5.   

    回Summer006(Summer) ( ) 信誉:100 
    老板说不求灰度值 只要黑白图  我原来求的是灰度图片 他说错了 
    我说的是 因为这个数据是在PUBLIC事件下求得的 而写入文本文件是在CLICK事件下  我知道则么写入 可不知道则么把数据调用到CLICK事件下 好象没办法直接调用
    上次多谢你了  可惜刚有点眉目老板又说我错了 哎
    ——————————————————————————————
     回复人: fishmans(金脚指) ( ) 信誉:94 
    我要弹出保存文件窗口 自己选择路径和文件名的 所以这样好象也不行
      

  6.   

    就把那段代码放在click事件里面就ok了啊!