請問一下該怎麼塗色 |
尚未結案
|
光光
一般會員 發表:19 回覆:19 積分:7 註冊:2004-10-30 發送簡訊給我 |
|
geniustom
版主 發表:100 回覆:303 積分:260 註冊:2003-01-03 發送簡訊給我 |
光光您好...我寫一下演算法..
for(j=0;j<圖高;j++){ for(i=0;i<圖寬;i++){ //從左邊找 if(圖[i,j]==黑色){ LEFT=i; //找到左邊的界線點 break; } } for(i=圖寬-1;i>=0;i--){ if(圖[i,j]==黑色{ RIGHT=i; //找到右邊的界線點 break; } } for(i=LEFT;i<=RIGHT;i++){ 圖[i,j]==黑色; //從剛剛找到的界線點..從LEFT~RIGHT..中間均填入黑色即可 } }GOOD LUCK <> <> <> < >> > <> < class="code"> =程式是一種藝術 也是訓練自己的分析規劃= =是段落分明 或是雜亂無章= =是一言以敝 或是廢話連篇= =是一目了然 或是艱深難懂= 體會這份藝術 您會了解另一份喜悅與成就 |
void __fastcall TForm1::Button1Click(TObject *Sender) { Graphics::TBitmap *TheBitmap, *TempBitmap; TempBitmap = new Graphics::TBitmap(); TempBitmap =Image1->Picture->Bitmap; TempBitmap->PixelFormat = pf8bit; Byte *ptr1; int w,h,i,j,LEFT,RIGHT; w=Image1->Width; h=Image1->Height; for(j=0;j謝謝各位...光光留...=0;i--) { if(ptr1[i,j]==0) { RIGHT=i; break; } } for(i=LEFT;i<=RIGHT;i++) { ptr1[i,j]==0; } } }
//-------影像轉到矩陣儲存------------------------------------------------------ void image_to_array(TImage * Image1, int *f){ int x, y; int h = Image1->Picture->Height; int w = Image1->Picture->Width; Byte *ptr; for(y = 0; y < h; y++) { ptr = (Byte *) Image1->Picture->Bitmap->ScanLine[y]; for(x = 0; x < w * 3; x = x + 3) { f[x + 3 * w * y] = (int)ptr[x]; // 將圖片的pixel依序填入 陣列 f[x + 1 + 3 * w * y] = (int)ptr[x + 1]; f[x + 2 + 3 * w * y] = (int)ptr[x + 2]; } } } //-------矩陣轉到影像------------------------------------------------------ void array_to_image(int *g, TImage * Image2){ int x, y; Byte *ptr; int h = Image2->Picture->Height; int w = Image2->Picture->Width; for(y = 0; y < h; y++) { ptr = (Byte *) Image2->Picture->Bitmap->ScanLine[y]; // 取得圖片第 y // 軸的起始位置 for(x = 0; x < w * 3; x = x + 3) { ptr[x + 2] = (Byte) g[x + 3 * w * y]; // 將陣列的pixel依序填入圖片 ptr[x + 1] = (Byte) g[(x + 1) + 3 * w * y]; ptr[x] = (Byte) g[(x + 2) + 3 * w * y]; } } }
< >> |
=程式是一種藝術 也是訓練自己的分析規劃= =是段落分明 或是雜亂無章= =是一言以敝 或是廢話連篇= =是一目了然 或是艱深難懂= 體會這份藝術 您會了解另一份喜悅與成就 |
void __fastcall TForm1::Button1Click(TObject *Sender) { int w,h,i,j,LEFT=0,RIGHT=0; Byte *ptr1; Graphics::TBitmap *TempBitmap = new Graphics::TBitmap(); TempBitmap->Assign(Image1->Picture->Bitmap); Image1->Picture->Bitmap->PixelFormat= pf8bit; TempBitmap->PixelFormat = pf8bit; w=Image1->Width; h=Image1->Height; for(j = 0;j < h; j++){ ptr1 = (byte *)TempBitmap->ScanLine[j]; LEFT=0; for(i = 0;i < w;i++){ if(ptr1[i]==0){ LEFT=i; break; } } RIGHT=0; for(i = (w-1);i >= 0;i--){ if(ptr1[i]==0){ RIGHT=i; break; } } for(i = LEFT;i <= RIGHT;i++){ ptr1[i]=0; } } Image2->Picture->Assign(TempBitmap); }原發文意義不是只在求演算法??,到後來卻變成在求程式了 >< 這樣就行了,試試吧!
< >> |
=程式是一種藝術 也是訓練自己的分析規劃= =是段落分明 或是雜亂無章= =是一言以敝 或是廢話連篇= =是一目了然 或是艱深難懂= 體會這份藝術 您會了解另一份喜悅與成就 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |