Re: [問題] VB6-照片轉參數
這不是 VB 的問題,是 Windows 的問題。
不能直接做。
處理的方法:
1. 直接依據 bitmap 檔的結構去讀陣列。
2. 把 Windows 解析度降到 65536 色,則此時的 GetBitmapBits 所指向的記憶體區塊是 2 bytes 的。
3. (這是觀念,我沒在 VB6 作過,VBNET 包的比較好,我在 VBNET 作過)
a. 用 CreateBitmap 指定顏色數為高彩
b. 把你的圖檔載入後,用 BitBlt 輸出到該圖。
c. 餘同 2
一般來說,若高彩圖可能是衛星影像之類的 65536 灰階時,則通常處理方式是 1 。
==> 本文由 "阿書 <CuckooBoy.bbs@ptt.cc>"
> 於 news:4VBE6f%248KV%40ptt.cc 發表
>
> ※ 引述《璉璉 <devil@tainan.com.tw.x>, 看板: Programming》之銘言:
> : 一般的作法:
> : Private Declare Function GetPixel Lib "gdi32.dll" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long
> : Private Declare Sub CopyMemory Lib "Kernel32" Alias "RtlMoveMemory" (hpvDest As Any, hpvSource As Any, ByVal cbCopy As Long)
> : Private Type ARGB
> : R As Byte
> : G As Byte
> : B As Byte
> : Keep As Byte
> : End Type
> : ....
> : Dim c As ARGB
> : CopyMemory c, GetPixel(Picture1.hdc, x, y), 4
> : Debug.Print c.R, c.G, c.B, c.Keep
> : ==> 本文由 "阿書 <CuckooBoy.bbs@ptt.cc>"
> : > 於 news:4VB7hW%247zZ%40ptt.cc 發表
> : > 感謝
> : > 剛試了一下,是我要的
> : > 不過有個疑問
> : > 顏色不是會有RGB XXX,XXX,XXX
> : > 為什麼得到的都是一個值 譬如 :255
> : > 不能一次印三個值嗎?
> : > SORRY!我影像處理與VB底子不夠好....
> : > 可否請大大指點一下
> : > 感恩
> 請教一下
> VB可以做........取得圖片的 HI COLOR嗎?
> 就是得到一些65536的一些參數...而不是255 0 0
>
--
風禹科技驗證有限公司 ASP.NET Web News Reader 0.2.7 UTF-8 Beta
網站地圖 http://tlcheng.twbbs.org/wwwmap.htm
流域防洪/區域水資源/徐昇網/玫瑰圖/語音通訊 文章與程式
Basic/Fortran/Windows API/.Net/輔助說明檔 原始碼、文章與討論
微軟程式設計、系統管理使用新技術論壇討論區,網友回覆後即時簡訊、電子郵件通知:
MSDN: http://forums.microsoft.com/msdn-cht/default.aspx?siteid=14
TechNet: http://forums.microsoft.com/technet-cht/default.aspx?siteid=23
--
ASPNET News Reader http://tlcheng.twbbs.org/News/Reader.aspx
RSS 2.0 http://tlcheng.twbbs.org/News/rss2.aspx?Action=List&Newsgroup=tw.bbs.comp.language
討論串 (同標題文章)
Programming 近期熱門文章
PTT數位生活區 即時熱門文章