在VB中提供了完善的做圖方法, 可以在表單或圖形框中繪製各種圖形, 其中提供了一個方便的影像處理命令即:PaintPicture, 此命令的功能與WINDOWS API 函數BitBlt類似,但由於不用做API函數說明,並且有它獨特的功能,所以更有它的方便之處, 使用它可以完成很多映像的特殊處理工作。
一、文法格式:
PaintPicture Pic,destX,destY,destWidth,destHeight,scrX,scrY,scrWidth,scrHeight
其中Pic:為圖片對象, 形框Picture等;
destX,destY:靶心圖表像位置;
destWidth,destHeight:靶心圖表像尺寸;
scrX,scrY:原映像的裁剪座標;
scrWidth,scrHeight:原映像的裁剪尺寸;
從以上格式可以看出,此命令的功能就是把一個源映像資源任意複製到指定的地區,並且通過改變參數destWidth與destHeight值,還可以改變複製後的映像的尺寸,實現放大或縮小映像顯示, 甚至可以置這兩個屬性為負值, 這樣可使靶心圖表像在水平方向翻轉,實現特殊效果的映像顯示。
程式執行個體:(by griefforyou)
在表單中添加兩個PictureBox,兩個CommandButton,其中Picture1載入一幅映像
表單模組中添加以下代碼:
Private Sub Command1_Click()
Picture2.PaintPicture Picture1.Picture, Picture1.ScaleWidth, 0, -Picture1.ScaleWidth, Picture1.ScaleHeight
End Sub
Private Sub Command2_Click()
Picture2.PaintPicture Picture1.Picture, 0, Picture1.ScaleHeight, Picture1.ScaleWidth, -Picture1.ScaleHeight
End Sub
運行效果如下: