rgb 像素值取得與回存 |
答題得分者是:dllee
|
hsingling
一般會員 發表:2 回覆:1 積分:0 註冊:2003-07-13 發送簡訊給我 |
|
dllee
站務副站長 發表:321 回覆:2519 積分:1711 註冊:2002-04-15 發送簡訊給我 |
在這篇有 Delphi 讀取/寫入 raw 檔的範例 如何解決速度上的差別
使用 raw image 在本站搜尋,可以找到相當多的範例(大部分是 BCB)。 另外,作影像處理之 raw 檔要有一個正確的觀念,即什麼是 raw 檔或什麼是 raw 格式? raw 基本上指的是影像的原始資料,但不包含檔頭,影像長/寬,影像彩色解析度等等的資訊, 這些不包含的資訊,在處理 raw 檔時必需要清楚,否則無法處理。 一般學校的作業,在初級課程大多處理 256 色灰階圖,而此時給的 raw 檔大多是 256 色灰階 的資料,但只知道是256色灰階,最多只知道 raw 檔的每一個 Byte 代表一個像素點的資訊, 但影像的長/寬如果不知道,也是很難顯示或是作其他的處理。 在進階課程可能處理各種色階的 raw 檔,如 2 Bytes 代表一個像素的彩色(556,565)或灰階圖, 3 or 4 Bytes 代表一個像素的彩色或灰階圖等等。 最後,提醒您,請勿同一問題或相同的文在不同的版面亂發,您在另一版面相同的問題,我已刪除。 發問時,使用「求救」「急」等之類的字眼是沒有用的,請參考 提問的智慧 與 大哉問 兩篇,把問 題說明清楚,給個明確的標題,這樣才能比較快得到回覆。 ■ Seednet ShareMe 免費網路硬碟, 申請送2G, 用 MSN 幫她打廣告加 10G, 推薦1人加 1G, 活動只到 9 月底, 請把握時機 ■
------
http://www.ViewMove.com |
hsingling
一般會員 發表:2 回覆:1 積分:0 註冊:2003-07-13 發送簡訊給我 |
|
dllee
站務副站長 發表:321 回覆:2519 積分:1711 註冊:2002-04-15 發送簡訊給我 |
請參考:efg's Tech Note: Manipulating Pixels With Delphi's ScanLine Property 已經說了 raw format 必需要自行確認檔案的格式,不然,不一定能解的。 以上連結作者介紹了各式可能的格式,並在格式之間轉換或是顯示。 原則上,最簡單的方法就是用 TImage 的 Canvas 的 Pixels 去設定或讀取它。 Pixels 的每一像素放的是 TColor,TColor 是 4 Bytes 的數值,如果 raw format 由您自行決定,一個一個 Pixels 存檔即可,例如開一個 TFileStream,把像素值 用 Write 的方式一個一個寫到檔案,載入時同樣用 Read 一個一個讀出來。看您自己 如何寫入,按順序讀出就沒有問題了。 也可像此 http://delphi.about.com/od/adptips2006/qt/rgb2tcolor.htm 每個像素存 R,G,B, 讀時按 R,G,B 讀出再用 RGB(r, g, b) 轉成 TColor 給 Pixels TFileStream (或用 TMemoryStream 也行)在本站有相當多的範例。如: 基本功 - 讀取二進位檔(binary file) - (含Source code for D6)■ ShareMe 免費網路硬碟, 申請送2G, 用 MSN 幫她打廣告加 10G, 推薦1人加 1G, 活動只到 9 月底, 請把握時機 ■
------
http://www.ViewMove.com
編輯記錄
dllee 重新編輯於 2007-09-24 14:28:28, 註解 加入 jow 的讀檔範例‧
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |