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

TImage的Transparent屬性,在高彩及全彩的問題

答題得分者是:william
小蟲蟲
一般會員


發表:38
回覆:55
積分:23
註冊:2002-03-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-11-07 11:17:42 IP:203.73.xxx.xxx 未訂閱
大家好: 目前遇到了一個神奇的現像,我用一個TImage,設成透明,並且在上面畫一條線。如下所示: Image1.Transparent := True; Image1.Canvas.MoveTo(0, 0); Image1.Canvas.LineTo(100, 100); 依據這段,我期待Image1的背景是灰色的(Form的顏色),而且有一條斜線。 在全彩的設定下,執行結果就是我所期待地! 但在高彩,會出現白白的底色! 請問,該如何解決?
william
版主


發表:66
回覆:2535
積分:3048
註冊:2002-07-11

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-11-07 17:20:51 IP:147.8.xxx.xxx 未訂閱
I think Transparent means it is a transparent control only. Wihtout loading any image, the Picture of TImage is empty. Try copying the background before drawing on the canvas:
var
    ARect: TRect;
begin
    ARect := Image1.ClientRect;
    with ARect do begin
        Top    := Image1.Top;
        Left   := Image1.Left;
        Right  := Left   Right;
        Bottom := Top   Bottom;
    end;
    with Image1.Canvas do begin
        CopyRect(ClipRect,self.Canvas,ARect);
        MoveTo(0, 0);
        LineTo(100, 100);
    end;
end;
P.S. I cannot see the plus ' ' symbol in preview?? 發表人 - william 於 2002/11/07 17:22:20
小蟲蟲
一般會員


發表:38
回覆:55
積分:23
註冊:2002-03-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-11-08 15:33:46 IP:203.77.xxx.xxx 未訂閱
謝謝!已經可以了!
系統時間:2024-04-30 20:41:50
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!