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

如何在TCanvas上輸出文字加上網底

答題得分者是:RaynorPao
kwu
中階會員


發表:10
回覆:57
積分:58
註冊:2003-10-31

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-03-02 14:09:38 IP:61.63.xxx.xxx 未訂閱
在 TCanvas 上輸出文字可以用 TextOut() 可是如果想要在文字的背景加上網底不知要如何才能做到?? 如果可以是不是也能自訂網底的樣式呢??
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-03-02 14:16:53 IP:61.221.xxx.xxx 未訂閱
引言: 在 TCanvas 上輸出文字可以用 TextOut() 可是如果想要在文字的背景加上網底不知要如何才能做到?? 如果可以是不是也能自訂網底的樣式呢??
kwu 你好:
(1)請參考以下的做法<><>
   >>>>>>>>>>>>>>>>>>>
(>>>>>>>>>    < src="http://delphi.ktop.com.tw/loadfile.php?TOPICID=10003806&CC=223734"> -- Enjoy Researching & Developing --    發表人 - RaynorPao 於 2004/03/02  23:54:17
        
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
kwu
中階會員


發表:10
回覆:57
積分:58
註冊:2003-10-31

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-03-02 15:51:10 IP:61.63.xxx.xxx 未訂閱
引言:
kwu 你好:
(1)請參考以下的做法
   >>>>>>>>>>>>>>>>>>>>>>>    < src="http://delphi.ktop.com.tw/loadfile.php?TOPICID=10003806&CC=223734"> -- Enjoy Researching & Developing --
感謝 RaynorPao 兄的回應!!
經實作後遇到了問題,那就是產生的網底黑色的部份太大了
而白色條紋太細了,因此輸出的文字幾乎看不到
不知有沒有辦法把網底的黑和白的顏色交換??
因我是要將有網底的文子輸出到黑白雷射印表機
以下是我的程式碼
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  //if (!PrintDialog1->Execute())
  //  return;      //TCanvas *pCanvas = Printer()->Canvas;
  TCanvas *pCanvas = Image1->Canvas;
  AnsiString strTest = "文字網底測試";      pCanvas->Brush->Color = clWhite;
  pCanvas->Brush->Style = bsDiagCross;      TSize sz = pCanvas->TextExtent(strTest);
  TRect Rect;
  Rect.Left = 90;
  Rect.Top = 97;
  Rect.Right = Rect.Left + sz.cx + 20;
  Rect.Bottom = Rect.Top + sz.cy + 6;      //Printer()->BeginDoc();
  pCanvas->FillRect(Rect);
  pCanvas->Brush->Style=bsClear;
  pCanvas->TextOut(100,100,strTest);
  //Printer()->EndDoc();
}
系統時間:2024-05-18 21:37:18
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!