【发布时间】:2015-04-03 18:06:55
【问题描述】:
我正在尝试做的是在 vb6 控制台应用程序中以像素级别处理下载的图像,这些是当前的步骤
我从一个网站下载了一个 png 文件,这是一个 32 位图像,图像是灰度的,当图像是第一个时 下载我需要将其转换为 24 位位图以便能够处理它,如果我在 Paint 中打开图像并保存 它作为 24 位位图我能够毫无问题地处理图像,当保存在 Paint 中时,我会在保存时收到一条消息 说“如果保存这张图片,任何透明度都会丢失。”,保存后,我对文件进行二进制读取,然后提取
位图文件头
BITMAPINFOHEDER
BMP数据
然后我可以遍历 BMPData 并提取和处理所需的值。如果我尝试加载图像而不先保存 它在绘画中的 24 位位图,我在 VB 中收到一个内存不足错误(运行时错误 7)并且 BMPInfoHeader.biSizeImage 是 与通过绘画保存后的尺寸相比非常大。
我曾尝试使用 ImageMagick-6.9.0-Q16 广告和 GraphicsMagick-1.3.21-Q8 进行转换,但这些似乎只是弄乱了转换后的文件。
有人知道吗?
问候
Potman100
【问题讨论】:
标签: graphics vb6 imagemagick-convert