Private Declare Function SetPixel Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal crColor As Long) As LongPrivate Sub Command1_Click() Picture1.AutoRedraw = True Dim i As Long For i = 1 To 100 SetPixel Picture1.hdc, i, i, vbRed Next Picture1.Refresh SavePicture Picture1.Image, "d:\nnnmmmm.bmp" End Sub
Picture1.AutoRedraw = True
Dim i As Long
For i = 1 To 100
SetPixel Picture1.hdc, i, i, vbRed
Next
Picture1.Refresh
SavePicture Picture1.Image, "d:\nnnmmmm.bmp"
End Sub
为什么用 getpixel和setpixel方法进行图片旋转的时候,这么慢,一张大图片要1分钟才能完成?
为什么用 getpixel和setpixel方法进行图片旋转的时候,这么慢,一张大图片要1分钟才能完成?===========================================================================这是由于getpixel、setpixel的效率非常低
要想加快处理速度,去学DIB(我现在正在写这方面的文章)可参考:
http://www.applevb.com/sourcecode/Realtime%20Image%20Rotation.zip
一个看起来比较简单的程序,一个小图像在大图像上移动、翻转。而且而且小图像的背景是透明的,并且可以任意角度的翻转。推荐下载。 下载(129K)