請問各位如何將翻轉後的圖片背景更改色彩呢? |
尚未結案
|
tony-ufo
一般會員 發表:7 回覆:8 積分:3 註冊:2003-08-06 發送簡訊給我 |
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
|
tony-ufo
一般會員 發表:7 回覆:8 積分:3 註冊:2003-08-06 發送簡訊給我 |
void __fastcall TForm1::Button3Click(TObject *Sender)
{
Image2->AutoSize=true;
int angle=StrToInt(Edit3->Text);
Graphics::TBitmap *Bitmap1=new Graphics::TBitmap;
Graphics::TBitmap *Bitmap2=new Graphics::TBitmap;
Bitmap1->Assign(Image1->Picture->Bitmap); float radians=(2*3.1416*angle)/360; float cosine=(float)cos(radians);
float sine=(float)sin(radians); float Point1x=(-Bitmap1->Height*sine);
float Point1y=(Bitmap1->Height*cosine);
float Point2x=(Bitmap1->Width*cosine-Bitmap1->Height*sine);
float Point2y=(Bitmap1->Height*cosine+Bitmap1->Width*sine);
float Point3x=(Bitmap1->Width*cosine);
float Point3y=(Bitmap1->Width*sine); float minx=min(0,min(Point1x,min(Point2x,Point3x)));
float miny=min(0,min(Point1y,min(Point2y,Point3y)));
float maxx=max(Point1x,max(Point2x,Point3x));
float maxy=max(Point1y,max(Point2y,Point3y)); int Bitmap2Width=(int)ceil(maxx-minx);
int Bitmap2Height=(int)ceil(maxy-miny); Bitmap2->Height=Bitmap2Height;
Bitmap2->Width=Bitmap2Width;
for(int x=0;x
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
tony-ufo您好:
請參考下面連結讓您的程式碼方便閱讀
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=40594
謝謝您的配合
請問您的 >
|
tony-ufo
一般會員 發表:7 回覆:8 積分:3 註冊:2003-08-06 發送簡訊給我 |
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
|
tony-ufo
一般會員 發表:7 回覆:8 積分:3 註冊:2003-08-06 發送簡訊給我 |
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
tony-ufo您好:
那試試下面的code
Image2->AutoSize=true; int angle=StrToInt(Edit2->Text); Graphics::TBitmap *Bitmap1=new Graphics::TBitmap; Graphics::TBitmap *Bitmap2=new Graphics::TBitmap; Bitmap1->Assign(Image1->Picture->Bitmap); float radians=(2*3.1416*angle)/360; float cosine=(float)cos(radians); float sine=(float)sin(radians); float Point1x=(-Bitmap1->Height*sine); float Point1y=(Bitmap1->Height*cosine); float Point2x=(Bitmap1->Width*cosine-Bitmap1->Height*sine); float Point2y=(Bitmap1->Height*cosine Bitmap1->Width*sine); float Point3x=(Bitmap1->Width*cosine); float Point3y=(Bitmap1->Width*sine); float minx=min(0,min(Point1x,min(Point2x,Point3x))); float miny=min(0,min(Point1y,min(Point2y,Point3y))); float maxx=max(Point1x,max(Point2x,Point3x)); float maxy=max(Point1y,max(Point2y,Point3y)); int Bitmap2Width=(int)ceil(maxx-minx); int Bitmap2Height=(int)ceil(maxy-miny); Bitmap2->Height=Bitmap2Height; Bitmap2->Width=Bitmap2Width; Bitmap2->PixelFormat=pf24bit; for(int y=0;y順心 <>~我也是在學習的階段,回答的不好請您多多見諒與指教~> |
tony-ufo
一般會員 發表:7 回覆:8 積分:3 註冊:2003-08-06 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |