如何清掉先前貼在背景圖上面的主圖 |
尚未結案
|
yagami8888
一般會員 發表:2 回覆:0 積分:0 註冊:2004-12-14 發送簡訊給我 |
請問各位"先進"....
我在同一個image上面先貼背景圖再貼上透空的主圖
(用image.canvas配合tbitmap虛擬物件的方法)
以下為程式碼
procedure Showmain(BkgFileName: String);
var
FileName: String;
Bitmap: TBitmap;
begin
FileName := GetCurrentDir '\' BkgFileName;
If FileExists(FileName) Then
begin
Bitmap := TBitmap.Create;
Bitmap.LoadFromFile(FileName);
Bitmap.TransparentColor := clRed;//設定紅色為透空部分
Bitmap.Transparent := True;//透空模式開啟
Form1.Image1.Canvas.Draw(0,0,Bitmap);
end;
end;
請問要如何清掉主角圖
|
TheMoon
中階會員 發表:17 回覆:95 積分:67 註冊:2002-06-05 發送簡訊給我 |
引言: 請問各位"先進".... 我在同一個image上面先貼背景圖再貼上透空的主圖 (用image.canvas配合tbitmap虛擬物件的方法) 以下為程式碼 procedure Showmain(BkgFileName: String); var FileName: String; Bitmap: TBitmap; begin FileName := GetCurrentDir '\' BkgFileName; If FileExists(FileName) Then begin Bitmap := TBitmap.Create; Bitmap.LoadFromFile(FileName); Bitmap.TransparentColor := clRed;//設定紅色為透空部分 Bitmap.Transparent := True;//透空模式開啟 Form1.Image1.Canvas.Draw(0,0,Bitmap); end; end; 請問要如何清掉主角圖不大清楚您真正的意思, 不過您可以用Canvas裡的Method試試看, //設定覆蓋的顏色 EX:Canvas.Brush.Color=clBlack; //設定覆蓋的區域 EX:Canvas.FillRect(Rect(0,0,IMAGE_SIZE_X,IMAGE_SIZE_Y)); //設定貼上的影像區塊 //CopyRect(const TRect &Dest, TCanvas* Canvas, const TRect &Source); //Copies part of an image from another canvas into the canvas. EX:Canvas.CopyRect(Rect(0,16,640,464), Bitmap->Canvas, Rect(40,0,680,448)); |
elvis1000
一般會員 發表:6 回覆:50 積分:16 註冊:2004-12-18 發送簡訊給我 |
|
TheMoon
中階會員 發表:17 回覆:95 積分:67 註冊:2002-06-05 發送簡訊給我 |
不曉得這篇文章討論的內容,
與您想作的效果一不一樣?
請參考:
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=62985
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |