全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2123
推到 Plurk!
推到 Facebook!

如何將記憶體中的資料, 抓出來放到 Image 的 Picture 裡

答題得分者是:taishyang
licheer
一般會員


發表:23
回覆:20
積分:8
註冊:2007-08-19

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-09-13 09:54:37 IP:220.130.xxx.xxx 訂閱
把檔案顯示出來
是用 Image->Picture->LoadFromFile();

如今我有一筆影像資料, 存放在記憶體中
memcpy ( ( image[m], pFrame, 100000);
那我要如何把 image[m] 抓出來放進 Picture 中顯示呢?
謝謝
taishyang
站務副站長


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-09-13 12:30:06 IP:122.124.xxx.xxx 訂閱
若您的image[]是不包含頭檔的RAW data資料
您必須一點一點的將像素資料填到Image中Image->Canvas->Pixels[x][y]
若要加快速度,可以用ScanLine,站上都有範例程式可以參考


===================引 用 licheer 文 章===================
把檔案顯示出來
是用 Image->Picture->LoadFromFile();

如今我有一筆影像資料, 存放在記憶體中
memcpy ( ( image[m], pFrame, 100000);
那我要如何把 image[m] 抓出來放進 Picture 中顯示呢?
謝謝
licheer
一般會員


發表:23
回覆:20
積分:8
註冊:2007-08-19

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-11-12 20:21:17 IP:61.225.xxx.xxx 訂閱
翻了許多站上的討論
這篇跟我想做的很相近

unsigned char轉成Tbitmap
http://delphi.ktop.com.tw/board.php?cid=168&fid=912&tid=90804

討論區裡的範例, 大多也是這樣寫
但我仍然看不太懂 ScanLine 的用法

for loop 是把像素資料填進去 ScanLine 嗎?
然後再用 Image->Canvas->Draw 把影像畫出來?

可是這裡面看不到把記憶體內的資料讀出來的控制呀~~

[code cpp]
Graphics::TBitmap *pBitmap = new Graphics::TBitmap();
pBitmap->PixelFormat=pf8bit;
pBitmap->Width=W;
pBitmap->Height=H;
Byte *ptr1;
k=0;
for(int i = 0; i < H; i )
{
for(int j = 0; j < W; j )
{ ptr1=(Byte*) pBitmap->ScanLine[H];
ptr1[i]=pBuf1[k =i];
}
}
Image->Canvas->Draw(0,0,pBitmap);

[/code]
taishyang
站務副站長


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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-11-13 10:05:29 IP:122.124.xxx.xxx 訂閱
可是這裡面看不到把記憶體內的資料讀出來的控制呀~~
----------------------------------------------
你一開始說到:[如今我有一筆影像資料, 存放在記憶體中那我要如何把 image[m] 抓出來放進 Picture 中顯示呢]
...
ptr1=(Byte*) pBitmap->ScanLine[H]; //ptr1指向影像的每一列開頭的位置
ptr1[i] = pBuf1[k =i]; //pBuf1為記憶體的資料,現在把他assign給*ptr1
....
//當for loop結束表示像素已經填完
Image->Canvas->Draw(0,0,pBitmap); //將影像(pBitmap)顯示到Image中
licheer
一般會員


發表:23
回覆:20
積分:8
註冊:2007-08-19

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-11-13 16:43:25 IP:220.130.xxx.xxx 訂閱
感謝您仔細的說明
我終於懂了~謝謝
系統時間:2024-05-05 16:03:21
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!