VB用point识别picture像素点颜色,需要调整哪些属性?
picture控件的高和宽是以像素点为单位的么?

解决方案 »

  1.   

    默认以缇为单位,15缇=1像素
    ScaleHeight和ScaleWidth是内部可用区域的高和宽
    Height和Width是外部整体的高和宽
    两者区别就是边框大小是否考虑进来。
      

  2.   

    给你个案例,对一张图片的左半边进行处理
    Option ExplicitPrivate Sub Command1_Click()
        Picture1.ScaleMode = 3  '把容器内部的坐标系单位设置成像素
        Picture1.AutoRedraw = True
        Set Picture1.Picture = LoadPicture("B:\test.jpg") '导入一张测试图片
        
        Dim x As Long
        Dim y As Long
        
        For x = 0 To Picture1.ScaleWidth / 2 '遍历图片左半边的所有像素
            For y = 0 To Picture1.ScaleHeight
                '逐个像素取色,然后取反,做出底片效果
                Picture1.PSet (x, y), Not Picture1.Point(x, y)
            DoEvents
            Next
        Next
    End Sub