不失真缩放图片

来源:互联网 发布:kuka编程软件 编辑:程序博客网 时间:2024/05/17 04:06
Option Explicit'Form1上添加1个图片框picture1Private Declare Function StretchBlt Lib "gdi32" (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 LongPrivate Declare Function SetStretchBltMode Lib "gdi32" (ByVal hdc As Long, ByVal nStretchMode As Long) As LongPrivate Const HALFTONE = 4Private Const SRCCOPY = &HCC0020 ' (DWORD) dest = sourcePrivate Sub Form_Load()        Picture1.Picture = LoadPicture("C:\images.jpg") '这时加入背景图,使其一运行就充满窗体        Picture1.Visible = False        Picture1.AutoRedraw = True        Me.AutoRedraw = True        Call Form_Resize        Me.Refresh        Me.AutoRedraw = FalseEnd SubPrivate Sub Form_Resize()        Dim Rtn As Long        Dim hDC1 As Long, hDC2 As Long        hDC1 = Picture1.hdc        hDC2 = Me.hdc        Call SetStretchBltMode(hDC2, HALFTONE)        Rtn = StretchBlt(hDC2, 0, 0, Me.ScaleWidth, Me.ScaleHeight, hDC1, 0, 0, Picture1.ScaleWidth, Picture1.ScaleHeight, SRCCOPY)        Me.AutoRedraw = True        Me.RefreshEnd Sub
摘自http://my.csdn.net/chenjl1031的帖子
0 0
原创粉丝点击