→ WPC001:GetBits()只是取得整個影像資料的記憶體指標 05/24 18:52
→ WPC001:也就是Pixel(0,0)的位置... TBitmap你查一下,應該也有 05/24 18:53
唔...還是沒有任何頭緒,不知道該用什麼去取代 GetBits()
我嘗試著將 GetBits() 以 TempBitmap 取代是可以 compile 過
但是程式還是抓不到影像
另外,上面亮白色那邊,有人可以幫我看看這樣寫取代那兩行程式碼是對的嗎?
※ 編輯: ToyLoli 來自: 140.126.145.206 (05/24 22:33)
→ WPC001:你的Image object, 沒有初始化, 你必須告知建立的大小 05/25 12:45
→ WPC001:我不確定TBitmap直接指定Width和Height是否就會建立完成 05/25 12:46
→ WPC001:因為他的H/V/D是分開指定的, 感覺很怪... 05/25 12:47
推 VictorTom:TBitmap new過以後這樣用就可以了, 雖然我也搞不太懂它 05/25 12:50
→ VictorTom:怎麼依照重設的W/H/D來分配memory的....@_@" 05/25 12:51
→ VictorTom:如果是要拿到pixel data, TBitmap是直接 ->ScanLine[i] 05/25 12:52
→ VictorTom:i就是第條的scanline, 從0~Height-1, 至於每個pixel有 05/25 12:52
→ VictorTom:多少byte就看你的pixelformat了. 05/25 12:52
→ VictorTom:如果你是要顯示, 我記得直接丟個Panel給它就可以顯示了. 05/25 12:53
→ VictorTom:如果是用VCL元件bar上的TImage, 簡單的操作可以像這樣~~ 05/25 12:54
→ VictorTom:Image->Picture->Bitmap->....就可以access pixel了. 05/25 12:55
→ VictorTom:不過, 如果你的Image沒有load過Bitmap圖檔, 就不能直接 05/25 12:56
→ VictorTom:用, 還是要經過TBitmap new的程序才可以.... 05/25 12:56
→ VictorTom:有個問題是, TBitmap的ScanLine我不記得有保證一定連續 05/25 12:57
→ VictorTom:Image.GetBit應該是放destination吧, 那就自己開一塊 05/25 12:57
→ VictorTom:WxHxD的空間給它, 再一條一條scanline copy進TBitmap 05/25 12:58