全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1059
推到 Plurk!
推到 Facebook!

Transparent作怪?

尚未結案
蔚空_0
一般會員


發表:8
回覆:0
積分:1
註冊:2005-04-02

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-12-05 19:10:37 IP:202.86.xxx.xxx 未訂閱
border_img := TBitMap.Create;   border_img.width := 10;   border_img.height := 10;   border_img.Canvas.Brush.Color := clBlack;   border_img.Canvas.Rectangle(0,0,10,10);   Form1.SpeedButton1.Glyph := border_img;    我想在一個SpeedButton上畫一個圖案, 但發現, 不知道為甚麼黑色無法顯示出來, 其他色就沒問題, 為甚麼呢?    
G01
高階會員


發表:249
回覆:379
積分:215
註冊:2002-05-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-12-06 06:25:25 IP:61.64.xxx.xxx 未訂閱
這是因為牽涉到前景色與背景色的緣故    Canvas的BackGroundColor = ClBlack ,所以當你設定為ClBlack時, 它認為你沒有給任何顏色,所以話不出來 以下為本問題的解法  
procedure TForm1.FormCreate(Sender: TObject);
var border_img:TBitMap;
begin
  border_img := TBitMap.Create;
  border_img.width := 10;
  border_img.height := 10;
  border_img.Canvas.Pen.Color   := ClBtnFace;
  border_img.Canvas.Brush.Color := clRed;
  border_img.Canvas.Rectangle(0,0,10,10);
  Form1.SpeedButton1.Glyph := border_img;
end;
 
努力不一定成功 , 不努力一定不成功!!
G01
高階會員


發表:249
回覆:379
積分:215
註冊:2002-05-21

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-12-06 06:27:23 IP:61.64.xxx.xxx 未訂閱
就多了下面這一行程式碼 border_img.Canvas.Pen.Color := ClBtnFace; 就行了!! 努力不一定成功 , 不努力一定不成功!!
fangwy
中階會員


發表:99
回覆:139
積分:62
註冊:2003-09-10

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-12-07 11:58:43 IP:218.5.xxx.xxx 未訂閱
也许可以从TBitBtn加上图标后如何让图标的背景透明的原理来找解决方法: 图标是否能背景透明,关键在左下角那一点,与左下角那一点的颜色相同的点都会被做透明处理. 我原来自制图标时发现画的黑框总是不能显示出来,原因就在这里,只要把左下角那点改成其他色,黑框就显示出来.
系統時間:2024-05-17 13:27:08
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!