請教如何在Image上放文字? |
答題得分者是:Windyboy
|
danielj
初階會員 發表:65 回覆:135 積分:40 註冊:2003-06-11 發送簡訊給我 |
小弟曾嘗試在Image上放文字,但是無法成功,我失敗的程式碼如下:
Image1->Picture->LoadFromFile("c:\\0000.jpg");
Image1->Canvas->TextRect(Rect(0,0,40,20),0,0,"test2");
//或者 Image1->Canvas->TextOutA(0,0,"Test"); compile沒問題,但是執行時出現
'Can only modify an image if it contains a bitmap'
的錯誤
看起來好像是不能用我所想到的那兩種方式,難道只能放一個Label在上面顯示了嗎? 先感謝大家花時間幫忙看,謝謝!
|
brook
資深會員 發表:57 回覆:323 積分:371 註冊:2002-07-12 發送簡訊給我 |
|
Windyboy
版主 發表:7 回覆:119 積分:210 註冊:2002-11-07 發送簡訊給我 |
Hi danielj: 這個Error Message應該是因為你載入的是JPEG圖檔,
所以你可以試著載入BMP應該就沒問題,如果一定要載入JPEG,
你可以先用TJPEGImage載入, 再轉成BMP, 請參考^_^ TJPEGImage *jpgTemp = new TJPEGImage();
jpgTemp->LoadFromFile("Sample.jpg");
Image1->Picture->Bitmap->Assign(jpgTemp);
delete jpgTemp; 再
Image1->Canvas->TextOutA(0, 0, "Test"); 應該就沒問題了.^_^ --------------------------
~天下本無事 庸人自擾之~
|
danielj
初階會員 發表:65 回覆:135 積分:40 註冊:2003-06-11 發送簡訊給我 |
感謝Windyboy兄的回答,我試過了,真的可以秀文字在圖上了。
但是能否再接著問一下,這樣子的文字會變成一個方框在圖上,能否讓文字的底色變成透明,也就是說除了字本身外,不要有整個Text方塊在呢? 另外,由於我這邊並不是整個Image只放一張圖,所以我將程式碼改為
:
:
Graphics::TBitmap *bitmap;
bitmap->Assign(myjpg);
但是這樣執行的時候會出現Access Violation錯誤,也想請教大家應該怎麼寫才好… 再次感謝大家! 發表人 - danielj 於 2003/07/21 14:55:40
|
Windyboy
版主 發表:7 回覆:119 積分:210 註冊:2002-11-07 發送簡訊給我 |
|
danielj
初階會員 發表:65 回覆:135 積分:40 註冊:2003-06-11 發送簡訊給我 |
|
Windyboy
版主 發表:7 回覆:119 積分:210 註冊:2002-11-07 發送簡訊給我 |
Graphics::TBitmap *bitmap; 改成 Graphics::TBitmap *bitmap = new Graphics::TBitmap(); 因為沒有new, 所以會產生Access violation, 至於文字要顯著的問題, 我沒試過耶, 我再研究看看, 我只知道設定Canvas->Pen->Mode = pmXor 這樣線條就會有Xor的作用, 但是對文字好像沒用, 有哪位大大知道的, 幫個忙吧^_^ --------------------------
~天下本無事 庸人自擾之~
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |