PaintPicture 方法,可以查查msdn就很清楚了. 也可以用api函数:StretchBlt实现Public Declare Function StretchBlt Lib "gdi32" Alias "StretchBlt" (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
那如果picture1和picture2大小不一样,要求picture2只显示picture1的一部分,怎么做呢?
怎么复制?能不能志复制一部分?能给个简单的示例吗?2个picturebox大小不一样
用以在 Form, PictureBox 或 Printer 上绘制图形文件(.bmp、.wmf、.emf、.cur、.ico或 .dib)的内容。
语法object.PaintPicture picture, x1, y1, width1, height1, x2, y2, width2, height2, opcodePicture2.PaintPicture Picture1.Image, 1, 2, 100, 100, 20, 30, 100, 100, vbSrcCopy注意设置autoRedraw=true
也可以用api函数:StretchBlt实现Public Declare Function StretchBlt Lib "gdi32" Alias "StretchBlt" (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
1、PictureBox1较大,作为绘制图形(线条,方框,....)的画板;
2、PictureBox2较小,作为PictureBox1的视口,能够显示PictureBox1中的一部分;
3、PictureBox1和PictureBox2的坐标体系一致,但坐标单位大小不同,这样能达到在PictureBox2中实现PictureBox1不失真缩放的效果