以前贴的一段小程序,楼主参考一下: 使用Image控件显示照片,并将它按比例缩放到一个尺寸内。 Sub ShowPicture(PcitureName As String) Dim ZX As Single Dim ZY As Single With Image1 .Stretch = False .Visible = False .Picture = LoadPicture(PictureName) ZX = .Width / 155 '假设目标宽度为155像素 ZY = .Height / 165 '假设目标高度为165像素 If ZX > ZY Then ZY = ZX Else ZX = ZY End If .Stretch = True .Width = Int(.Width / ZX) .Height = Int(.Height / ZY) .Visible = Ture End With End Sub
没有找我
使用Image控件显示照片,并将它按比例缩放到一个尺寸内。
Sub ShowPicture(PcitureName As String)
Dim ZX As Single
Dim ZY As Single
With Image1
.Stretch = False
.Visible = False
.Picture = LoadPicture(PictureName)
ZX = .Width / 155 '假设目标宽度为155像素
ZY = .Height / 165 '假设目标高度为165像素
If ZX > ZY Then
ZY = ZX
Else
ZX = ZY
End If
.Stretch = True
.Width = Int(.Width / ZX)
.Height = Int(.Height / ZY)
.Visible = Ture
End With
End Sub
如果是BMP图片,并且16位色以下,那可以直接修改调色板.但是要说通用的方法,只有写像素了.
写像素也不一定就慢,看用什么方法了,DIB就不慢.
http://www.tttcn.cn/blog/1914/cmd.html?do=blogs&id=1843&uid=1914
BitBlt中有dwRop,为Long型。有颜色翻转等功能。