vb6 如何在picture1的某位置和區域粘貼圖片?
(可改進使用".picture= Clipboard.GetData" 且不影響picture1上原有的影像嗎?)
我一運行picture1.Picture = Clipboard.GetData后,picture1上原繪的圖全沒了.如何區域粘貼呢?
uj5u.com熱心網友回復:
picture1.PaintPicture . . . . . .
uj5u.com熱心網友回復:
在任意位置繪制圖形使用 PaintPicture 方法,可以在表單、圖片框和 Printer 物件上的任何地方,繪制圖形。PaintPicture 方法的語法是:
[object.]PaintPicture pic, destX, destY[, destWidth[, destHeight[, srcX _
[, srcY[, srcWidth[, srcHeight[, Op]]]]]]]
目標 object 指的是表單、圖片框或 Printer 物件,這些地方都是 pic 圖片表現的處所。如果 object 被忽略了,則認為指定的就是當前的表單。pic 引數必須是一個圖片物件,它是由表單或控制元件的 Picture 屬性決定。
destX 和 destY 引數,是按照 objec 的 ScaleMode,該圖象將出現的水平和垂直位置。destWidth 和 destHeight 引數是可選項,用來設定在 object 目標中該圖象的寬度和高度。
srcX 和 srcY 引數是可選項,用來定義 pic 中裁剪區左上角的 x 和 y 坐標。
可選的 Op 引數用來定義當在目標 object 上繪圖時,在圖片上執行的光柵操作(例如,AND 和 XOR)。
PaintPicture 方法可代替 BitBlt Windows API 函式,在將矩形圖形塊從一個地方移到任意另一地方時,它可執行廣泛的各種操作。
例如,可以使用 PaintPicture 方法生成同一位圖的多份副本,并將它們平鋪在表單上。使用這種方法,比在表單上移動圖片控制元件要快。下列代碼是用來平鋪圖片控制元件的 100 份拷貝,并且通過給 destWidth 設定一個負值,可以使每張圖片進行水平翻轉。
For i = 0 To 10
For j = 0 To 10
Form1.PaintPicture picF.Picture, j * _
picF.Width, i * picF.Height, _
picF.Width, -picF.Height
Next j, i
詳細資訊 請參閱《語言參考》的“PaintPicture 方法”。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/57421.html
標籤:多媒體
