VB 修改图片尺寸!分享
冰不孤独 2016-08-26 11:53:57 Private Declare Function StretchBlt Lib "gdi32.dll" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal nSrcWidth As Long, ByVal nSrcHeight As Long, ByVal dwRop As Long) As Long
Private Declare Function SetStretchBltMode Lib "gdi32" (ByVal hdc As Long, ByVal nStretchMode As Long) As Long
Private Const HALFTONE = 4
Private Const SRCCOPY = &HCC0020
Public Function savejpg(ByVal pic1 As Object, ByVal pic2 As Object, ByVal fillnaemiup As String, ByVal filenameout As String, ByVal Xfbl As Double) As Boolean
Dim Rtn As Long
Dim hDC1 As Long, hDC2 As Long
pic1.Cls
pic2.Picture = LoadPicture(fillnaemiup)
pic1.Width = pic2.Width * Xfbl
pic1.Height = pic2.Height * Xfbl
hDC1 = pic2.hdc
hDC2 = pic1.hdc
Call SetStretchBltMode(hDC2, HALFTONE)
Call StretchBlt(hDC2, 0, 0, pic1.ScaleWidth, pic1.ScaleHeight, hDC1, 0, 0, pic2.ScaleWidth, pic2.ScaleHeight, SRCCOPY)
pic1.Refresh
SavePicture pic1.Image, filenameout
End Function
调用:
Call savejpg(Picture1, Picture2, "原图地址", "修改后存放地址", 大小)