旋轉後灰階問題 |
答題得分者是:seeing
|
ptj
一般會員 發表:14 回覆:19 積分:11 註冊:2003-01-21 發送簡訊給我 |
|
auslk
初階會員 發表:35 回覆:77 積分:32 註冊:2003-02-17 發送簡訊給我 |
|
seeing
初階會員 發表:49 回覆:131 積分:41 註冊:2002-11-07 發送簡訊給我 |
|
ptj
一般會員 發表:14 回覆:19 積分:11 註冊:2003-01-21 發送簡訊給我 |
嗯 我照taishyang版主的範例程式 將旋轉和灰階合在一起 就不能跑了 不知問題在哪 //程式部分
//旋轉部分
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;
for(int x=0;x
|
ptj
一般會員 發表:14 回覆:19 積分:11 註冊:2003-01-21 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |