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

請問Panel 繪圖後如何儲存成影像檔

答題得分者是:taishyang
wslay
一般會員


發表:1
回覆:3
積分:0
註冊:2008-02-27

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-02-27 15:50:52 IP:59.120.xxx.xxx 訂閱
請教版上先進,我從網上瞭解如何在Panel物件上繪圖而且也可以完成作業,
可是另外問題是我該如何把已經畫在Panel上的圖形儲存下來
我試過從Canvas當中的Bitmap Assign到TBitmap物件上,顯示出nil得錯誤訊息


以下為如何在Panel上繪圖的程式碼
[code cpp]
TCanvas *pCanvas = new TCanvas;
HDC hDC=GetDC(Panel1->Handle);
pCanvas->Handle=hDC;
pCanvas->Pen->Color = Color;
pCanvas->Pen->Width = 5;
pCanvas->Pen->Mode = pmCopy;
pCanvas->Pen->Style = psSolid;
pCanvas->Brush->Color = Color;
pCanvas->Brush->Style = bsClear;
pCanvas->Rectangle(0,0,50,50);
ReleaseDC(Panel1->Handle , hDC);
delete pCanvas;

[/code]
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-02-27 18:04:53 IP:118.169.xxx.xxx 訂閱
試試下面的程式碼
Graphics::TBitmap *bmp = new Graphics::TBitmap;
bmp->Width = Panel1->Width;
bmp->Height = Panel1->Height;
TCanvas *pCanvas = new TCanvas;
HDC hDC=GetDC(Panel1->Handle);
pCanvas->Handle=hDC;
pCanvas->Pen->Color = clBlue;
pCanvas->Pen->Width = 5;
pCanvas->Pen->Mode = pmCopy;
pCanvas->Pen->Style = psSolid;
pCanvas->Brush->Color = Color;
pCanvas->Brush->Style = bsClear;
pCanvas->Rectangle(0,0,50,50);
bmp->Canvas->CopyRect(Panel1->ClientRect,
pCanvas,
Panel1->ClientRect);
bmp->SaveToFile("panel.bmp");
ReleaseDC(Panel1->Handle , hDC);
delete pCanvas;
delete bmp;

wslay
一般會員


發表:1
回覆:3
積分:0
註冊:2008-02-27

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-02-27 18:16:13 IP:60.248.xxx.xxx 訂閱
Dear taishyang
您的程式碼確實可以使用,感謝協助
系統時間:2024-04-24 5:46:29
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!