在VB中怎么使图片得到像素,然后再改变其中的一些像素值,最后生成新的图片

如题所述

第一种方法:用VB本身的命令:
获得Picture1中点(x, y)的像素颜色值:
Dim c As Long
c = Picture1.Point(x, y)
然后你可以对c进行修改,再把c写回(x, y)
Picture1.PSet (x, y), c
注意:最好把Picture1设为像素坐标系统,如果用VB默认的单位缇,则千万记得要每隔15缇读取一个点!!!

第二种方法:用API函数:
用GetBitmapBits把Picture1的图像全部读入一个二维字节数组,对这个数组进行修改后,再把这个数组通过SetBitmapBits重新写回Picture1

第三种方法:其他方法,如GDI++追问

可以留下QQ交流吗?

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-06-22
这个用api很好解决。用setpixel和getpixel可操作像素,不过这个需要得到dc,而取得DC需要窗口句柄。具体你可以进群:30873214问一下