用以在Form, PictureBox 或 Printer 上繪製圖形檔案(.bmp、.wmf、.emf、.cur、.ico或 .dib)的內容。不支持命名參數。
語法,說明,
語法
object.PaintPicturepicture, x1, y1, width1, height1, x2, y2, width2, height2, opcode
PaintPicture 方法的語法包含下列部分:
部分 | 描述 |
object | 可選的。一個對象表達式,其值為“套用於”列表中的一個對象。如果省略 object,帶有焦點的 Form 對象預設為 object。 |
Picture | 必需的。要繪製到 object 上的圖形源。Form 或PictureBox 必須是 Picture 屬性。 |
x1, y1 | 必需的。均為單精度值,指定在 object 上繪製 picture 的目標坐標(x-軸和y-軸)。object 的ScaleMode 屬性決定使用的度量單位。 |
Width1 | 可選的。單精度值,指示 picture 的目標寬度。object 的ScaleMode 屬性決定使用的度量單位。如果目標寬度比源寬度 (width2) 大或小,將適當地拉伸或壓縮 picture。如果該參數省略,則使用源寬度。 |
Height1 | 可選的。 單精度值,指示 picture 的目標高度。object 的ScaleMode 屬性決定使用的度量單位。如果目標高度比源高度 (height2) 大或小,將適當地拉伸或壓縮 picture。如果該參數省略,則使用源高度。 |
x2, y2 | 可選的。均為單精度值,指示 picture 內剪貼區的坐標(x-軸和y-軸)。object 的ScaleMode 屬性決定使用的度量單位。如果該參數省略,則預設為 0。 |
Width2 | 可選的。單精度值,指示 picture 內剪貼區的源寬度。object 的ScaleMode 屬性決定使用的度量單位。如果該參數省略,則使用整個源寬度。 |
Height2 | 可選的。 單精度值,指示 picture 內剪貼區的源高度。object 的ScaleMode 屬性決定使用的度量單位。如果該參數省略,則使用整個源高度。 |
Opcode | 可選的。是長型值或僅由點陣圖使用的代碼。它用來定義在將 pictur 繪製到 object 上時對 picture 執行的位操作(例如,vbMergeCopy 或 vbSrcAnd 操作符)。關於位操作符常數的完整列表,請參閱 Visual Basic Help 檔案中的 RasterOp Constants 主題。 在使用opcode時有一些限制。例如,如果資源是圖示或圖元檔案,則只能使用 vbSrcCopy,而不能使用其他的opcode;並且,與圖案 (或 SDK 術語中的"畫筆"),如 MERGECOPY、 PATCOPY、 PATPAINT 和 PATINVERT,相互動的opcode實際上是同目標的FillStyle 屬性互動。 注意 Opcode 用於將按位操作傳遞到點陣圖。當傳遞其他圖象類型時將一個值給該參數會造成“無效過程調用或參數”錯誤。這是設計的原因。要避免這個錯誤,對於除點陣圖外的圖象,將Opcode 參數置為空。 |
說明
通過使用負的目標高度值 (height1) 和 / 或目標寬度值 (width1) ,可以水平或垂直翻轉點陣圖。
注意,在將一個.Bmp載入入 PictureBox 控制項和使用Windows API 函式 BitBlt() 添加圖片之間有一點不同。當您對一個圖象使用 BitBlt() 時,PictureBox 控制項不知道象您使用 LoadPicture方法那樣去調整大小。將ScaleWidth 和 ScaleHeight 屬性設定為圖象的大小也不起作用。如果您想在使用 BitBlt 之後用 PictureBox 調整新圖片的大小,必須用代碼手工做,轉換單位並處理框線,下面是如何這樣做的一個簡單示例:
Sub ResizePictureBoxToImage(pic As PictureBox, twipWd As Integer, twipHt As Integer) ' 該代碼假設所有的單位都為緹。如果 ' 不是,必須在調用該例程之前,轉換為緹。 ' 這裡也假設圖象顯示在0,0處。 Dim BorderHt As Integer, BorderWd As Integer BorderWd = pic.Width - pic.ScaleWidth BorderHt = pic.Height - pic.ScaleHeight pic.Move pic.Left, pic.Top, twipWd + BorderWd, twipHt + BorderHtEnd Sub