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

請問如何在TImage中加上透明的文字

尚未結案
stevenchiou
一般會員


發表:11
回覆:10
積分:4
註冊:2003-09-18

發送簡訊給我
#1 引用回覆 回覆 發表時間:2006-10-19 10:12:33 IP:60.248.xxx.xxx 訂閱
假設Image1已經Load一個BMP的檔案..想要在圖形上加一些文字
Image1->Canvas->Text(0,0,"Steven"); //失敗,Compiler 不會過
Image1->Picture->Bitmap->Canvas->TextOut(0,0,"Steven"); //失敗,整個Image1一片空白,連原來的BMP都不見了
直接用API
HDC dc = GetDC(Image1->Picture->Bitmap->Canvas->Handle);
if(dc != NULL)
{
char * str = "steven";

SetTextColor(dc,RGB(40,50,200));
SetBkColor(dc,TRANSPARENT);
TextOut(dc,10,20,str,StrLen(str));
}

失敗中的失敗,整個Image1一片空白,連原來的BMP都不見了

ys168
初階會員


發表:3
回覆:24
積分:25
註冊:2005-10-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-02-11 20:34:24 IP:59.117.xxx.xxx 訂閱

===================引 用 文 章===================
假設Image1已經Load一個BMP的檔案..想要在圖形上加一些文字
Image1->Canvas->Text(0,0,"Steven"); //失敗,Compiler 不會過
Image1->Picture->Bitmap->Canvas->TextOut(0,0,"Steven"); //失敗,整個Image1一片空白,連原來的BMP都不見了
直接用API
??? HDC dc = GetDC(Image1->Picture->Bitmap->Canvas->Handle);
??? if(dc != NULL)
??? {
??????? char * str = "steven";

??????? SetTextColor(dc,RGB(40,50,200));
??????? SetBkColor(dc,TRANSPARENT);
??????? TextOut(dc,10,20,str,StrLen(str));
??? }

失敗中的失敗,整個Image1一片空白,連原來的BMP都不見了
?

=============================================
回應:

你可以在Image的畫布上, 拉一個Label, 然後 設定 Label1->Transprent=true;
再將 Label1->Caption = "要Show出的字串";

------
yangshuh
anyone
中階會員


發表:1
回覆:63
積分:52
註冊:2007-02-12

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-02-12 10:59:34 IP:59.127.xxx.xxx 訂閱
(Image1->Picture->Bitmap->Canvas->Handle)本就是DC值
不需要再用GETDC去取,你試看看 if(dc != NULL)
{
char * str = "steven";

SetTextColor(Image1->Picture->Bitmap->Canvas->Handle,RGB(40,50,200));
SetBkColor(Image1->Picture->Bitmap->Canvas->Handle,TRANSPARENT);
TextOut(Image1->Picture->Bitmap->Canvas->Handle,10,20,str,StrLen(str));
}


===================引 用 文 章===================
假設Image1已經Load一個BMP的檔案..想要在圖形上加一些文字
Image1->Canvas->Text(0,0,"Steven"); //失敗,Compiler 不會過
Image1->Picture->Bitmap->Canvas->TextOut(0,0,"Steven"); //失敗,整個Image1一片空白,連原來的BMP都不見了
直接用API
??? HDC dc = GetDC(Image1->Picture->Bitmap->Canvas->Handle);
??? if(dc != NULL)
??? {
??????? char * str = "steven";

??????? SetTextColor(dc,RGB(40,50,200));
??????? SetBkColor(dc,TRANSPARENT);
??????? TextOut(dc,10,20,str,StrLen(str));
??? }

失敗中的失敗,整個Image1一片空白,連原來的BMP都不見了
?
系統時間:2024-05-07 6:55:30
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!