線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1266
推到 Plurk!
推到 Facebook!

如果是用圓形截取所需影像!!!

尚未結案
mysean
一般會員


發表:2
回覆:1
積分:0
註冊:2004-03-01

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-03-11 23:37:48 IP:211.74.xxx.xxx 未訂閱
前面看到的文章大多是以矩形為截取影像的方式 可以逐點掃 那麼如果是以圓形截取的話 該如何去對影像做灰階跟二值化等動作呢??????
taishyang
站務副站長


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-03-11 23:50:31 IP:140.135.xxx.xxx 未訂閱
mysean您好: 這篇先參考看看 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=40101 在Form1繪製甜甜圈圖案
taishyang
站務副站長


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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-03-12 00:01:53 IP:140.135.xxx.xxx 未訂閱
再試試下面的code
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  Graphics::TBitmap *Bmp = new Graphics::TBitmap();      
  Graphics::TBitmap* Elli=new Graphics::TBitmap;      Bmp->LoadFromFile("1.bmp");
  Bmp->PixelFormat=pf24bit;
  byte *ptr1,*ptr2;
  RECT  R;
  HRGN MyRgn = CreateEllipticRgn(0, 0, Bmp->Width, Bmp->Height); 
  HRGN hRgn1 = CreateEllipticRgn(0, 0, 100, 100);
  HRGN hRgn2 = CreateEllipticRgn(0, 0, 0, 0);      CombineRgn(MyRgn, hRgn1, hRgn2, RGN_XOR);
  Elli->PixelFormat = pf24bit;
  Elli->Width       = Bmp->Width;
  Elli->Height      = Bmp->Height;      for(int y=0; yHeight; y  )
  {
    ptr1=(byte*)(Elli->ScanLine[y]);
    ptr2=(byte*)(Bmp->ScanLine[y]);
    for(int x=0; xWidth; x  )
    {
      if (PtInRegion(MyRgn, x, y))
      {
        Byte Gray=(ptr2[3*x] ptr2[3*x 1] ptr2[3*x 2])/3;
        ptr1[3*x] = Gray;
        ptr1[3*x 1] = Gray;
        ptr1[3*x 2] = Gray;
      }
    }
  }
  Image1->Transparent=true;
  Image1->Picture->Assign(Elli);
  DeleteObject(hRgn1);
  DeleteObject(hRgn2);
  DeleteObject(MyRgn);
  delete Bmp;
  delete Elli;
}
順心 <>~我也是在學習的階段,回答的不好請您多多見諒與指教~ 發表人 -
mysean
一般會員


發表:2
回覆:1
積分:0
註冊:2004-03-01

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-03-12 17:08:24 IP:140.127.xxx.xxx 未訂閱
版主果然利害!!!! 謝謝你了~~~~~~ 以後如果還有一些問題 要請你多多幫忙了~!!!!!
taishyang
站務副站長


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

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-03-12 17:17:49 IP:140.135.xxx.xxx 未訂閱
不是我厲害,提供這些資料的前輩們才厲害
系統時間:2024-05-05 16:23:32
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!