看板Programming
标 题Re: [问题] VB6-照片转参数
发信站=?big5?B?SElTRFQgrbes6qzsp97F58PSprOtraS9pX (Sun Jul 22 18:07:42 2007)
转信站ptt!ctu-reader!ctu-gate!news.nctu!news.ntu!feeder.seed.net.tw!netnews!
这不是 VB 的问题,是 Windows 的问题。
不能直接做。
处理的方法:
1. 直接依据 bitmap 档的结构去读阵列。
2. 把 Windows 解析度降到 65536 色,则此时的 GetBitmapBits 所指向的记忆体区块是 2 bytes 的。
3. (这是观念,我没在 VB6 作过,VBNET 包的比较好,我在 VBNET 作过)
a. 用 CreateBitmap 指定颜色数为高彩
b. 把你的图档载入後,用 BitBlt 输出到该图。
c. 余同 2
一般来说,若高彩图可能是卫星影像之类的 65536 灰阶时,则通常处理方式是 1 。
==> 本文由 "阿书 <[email protected]>"
> 於 news:4VBE6f%248KV%40ptt.cc 发表
>
> ※ 引述《琏琏 <[email protected]>, 看板: 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
> : ==> 本文由 "阿书 <[email protected]>"
> : > 於 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