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

透過TMemoryStream物件取得ccd影像

缺席
MilesWamg
一般會員


發表:18
回覆:37
積分:11
註冊:2003-02-07

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-07-16 14:40:42 IP:163.18.xxx.xxx 未訂閱
透過TMemoryStream物件取得ccd影像,不透過 GetDC()或其他物件Canvas來取得ccd各相素資料, 但因TMemoryStream第一次使用,故還有改善空間吧!! 請各位先進告知小弟有何更佳之改善方法 因為速度不理想 程式貼於發表區
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-07-16 23:49:30 IP:61.221.xxx.xxx 未訂閱
引言: 透過TMemoryStream物件取得ccd影像,不透過 GetDC()或其他物件Canvas來取得ccd各相素資料, 但因TMemoryStream第一次使用,故還有改善空間吧!! 請各位先進告知小弟有何更佳之改善方法 因為速度不理想 程式貼於發表區 < face="Verdana, Arial, Helvetica">
MilesWamg 你好:
(1)小弟我並沒有很仔細的看你大作中的程式碼,只是執行玩玩看
( >

備註:
<><>>

        
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
MilesWamg
一般會員


發表:18
回覆:37
積分:11
註冊:2003-02-07

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-07-22 14:43:17 IP:163.18.xxx.xxx 未訂閱
小弟最近在測試改進此一程式之速度 但是有一個問題 將TBitmap中的ScanLine使用來劃一點陣圖理論上 速度應該很快(相對於SetPixel()) 但是於此一程式有一很有趣的現象 如果加上這一行速度會下降很多.....,故不想使用如SetPixel()方式也沒辦法 請各位前輩指點迷津,謝謝!!    
HWND __fastcall TRec::Get_A_Frame()
{
  int x_cnt,y_cnt;
  Byte color_ptr[3],*ptr;      if(FrameBuf!=0)
  {
    BufferArea->Write(FrameBuf,FrameSize);
    BufferArea->Position=0;
    for( x_cnt=Pic->Height-1;x_cnt>=0;x_cnt--)
    {
      //ptr=(Byte *)Pic->ScanLine[x_cnt];<<如果加上這一行
      for( y_cnt=0;y_cntWidth;y_cnt  )
      {
        BufferArea->Read(color_ptr,3);
        Pic->Canvas->Pixels[y_cnt][x_cnt]=RGB(*(color_ptr 2),*(color_ptr 1),*(color_ptr));
      }
    }
    BufferArea->Clear();
  }
  return(Pic->Canvas->Handle);
}
發表人 -
MilesWamg
一般會員


發表:18
回覆:37
積分:11
註冊:2003-02-07

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-10-13 10:52:18 IP:163.18.xxx.xxx 未訂閱
引言: 小弟最近在測試改進此一程式之速度 得到答案將TBitmap中的ScanLine使用來劃一點 如果加上這一行速度就理想了 應是像素格式的問題 如 Pic->PixelFormat=pf24bit;
__fastcall TRec::TRec(HWND HWnd)
{
  Handle=HWnd;
  Live=false;
  Pic = new Graphics::TBitmap();
  Pic->Height=240;
  Pic->Width=320;
  Pic->PixelFormat=pf24bit;//加上這一行
  BufferArea= new TMemoryStream();
}
發表人 - >< face="Verdana, Arial, Helvetica">
triop
一般會員


發表:14
回覆:15
積分:5
註冊:2005-11-08

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-10-08 03:11:15 IP:140.117.xxx.xxx 訂閱

===================引 用 MilesWamg 文 章===================
引言: 小弟最近在測試改進此一程式之速度
得到答案將TBitmap中的ScanLine使用來劃一點
如果加上這一行速度就理想了
應是像素格式的問題

如 Pic->PixelFormat=pf24bit;
發表人 - MilesWamg 於 2003/07/22 14:56:11
想請問一下這裡的方法是將hand裡面的資料讀入Pic->Canvas->Handle裡面
那小弟想請問一下,如何將Pic->Canvas->Handle讀到記憶體當中呢?
可以直接讀取handle裡面的值嗎?
想請問一下要怎麼使用呢?

系統時間:2024-05-05 7:36:58
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!