如何開啟圖檔後在畫圖,並且所畫的圖可以移動及放大 |
答題得分者是:tomoi
|
f814030
一般會員 發表:20 回覆:22 積分:8 註冊:2008-04-04 發送簡訊給我 |
小弟目前要開啟一張圖檔(jpg),
然後在讓圖檔畫圓、矩型等圖案,並且要讓所畫的圖可以移動(也就是可以改變位置) 及放大縮小。 目前己經完成在jpg 圖檔上面畫圖了,但接下來苦思了二天,豪無思緒… 參考了這一篇 http://delphi.ktop.com.tw/board.php?cid=168&fid=921&tid=86116 也不知怎麼開始。 懇請各位先進賜教
------
Spencer~~~~* |
tomoi
初階會員 發表:2 回覆:30 積分:41 註冊:2008-07-14 發送簡訊給我 |
|
f814030
一般會員 發表:20 回覆:22 積分:8 註冊:2008-04-04 發送簡訊給我 |
|
alvinken
初階會員 發表:21 回覆:32 積分:45 註冊:2008-06-09 發送簡訊給我 |
|
f814030
一般會員 發表:20 回覆:22 積分:8 註冊:2008-04-04 發送簡訊給我 |
|
tomoi
初階會員 發表:2 回覆:30 積分:41 註冊:2008-07-14 發送簡訊給我 |
|
f814030
一般會員 發表:20 回覆:22 積分:8 註冊:2008-04-04 發送簡訊給我 |
小弟有做出畫圓的方法了,但是現在不知要如何讓圓可以移動…
[code cpp] Label1->Caption=X; Label2->Caption=Y; Image2->Canvas->Pen->Color = clRed; Image2->Canvas->Pen->Mode = pmXor; Image2->Canvas->Pen->Style = psSolid; Image2->Canvas->Brush->Style = bsClear; Image2->Canvas->Ellipse(MDoriginX,MDoriginY,MDmoveX,MDmoveY); MDmoveX=X; MDmoveY=Y; Image2->Canvas->Ellipse(MDoriginX,MDoriginY,MDmoveX,MDmoveY); Image2->Canvas->Pen->Mode = pmCopy; [/code]
------
Spencer~~~~*
編輯記錄
f814030 重新編輯於 2008-12-27 19:01:39, 註解 無‧
|
tomoi
初階會員 發表:2 回覆:30 積分:41 註冊:2008-07-14 發送簡訊給我 |
|
f814030
一般會員 發表:20 回覆:22 積分:8 註冊:2008-04-04 發送簡訊給我 |
|
tomoi
初階會員 發表:2 回覆:30 積分:41 註冊:2008-07-14 發送簡訊給我 |
|
f814030
一般會員 發表:20 回覆:22 積分:8 註冊:2008-04-04 發送簡訊給我 |
|
tomoi
初階會員 發表:2 回覆:30 積分:41 註冊:2008-07-14 發送簡訊給我 |
[code cpp] //--------------------------------------------------------------------------- #include #pragma hdrstop #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; Graphics::TBitmap *bmp; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm1::PaintBox1Paint(TObject *Sender) { PaintBox1->Canvas->Draw(0,0,bmp); } //--------------------------------------------------------------------------- void __fastcall TForm1::FormCreate(TObject *Sender) { bmp=NULL; bmp=new Graphics::TBitmap; if(!bmp) return; int w=PaintBox1->Width; int h=PaintBox1->Height; bmp->SetSize(w,h); bmp->Canvas->Pen->Color=clBlack; bmp->Canvas->Brush->Color=clBlack; bmp->Canvas->Brush->Style=bsSolid; bmp->Canvas->FillRect(TRect(0,0,w,h)); bmp->Canvas->Pen->Mode=pmXor; bmp->Canvas->Pen->Color=clWhite; bmp->Canvas->Brush->Style=bsClear; } //--------------------------------------------------------------------------- void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action) { if(bmp!=NULL) delete bmp; bmp=NULL; } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { bmp->Canvas->Ellipse(5,5,100,100); Invalidate(); } //--------------------------------------------------------------------------- [/code] 簡單試寫了一下 我猜你應該是少了Invalidate()吧 ^^ 我也是新手 如有錯誤請更正
------
Tomo |
f814030
一般會員 發表:20 回覆:22 積分:8 註冊:2008-04-04 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |