当前位置:编程学习 > VB >>

求解关于VB 中 24位图像像素格式的问题

--------------------编程问答-------------------- 这是啥编程风格呀, 循环内定义变量的写法看得我好蛋疼, 
还有那个if not XXX then continu的用法, 你直接把not去掉把and改成or, 然后下面三句放进if里面不是清爽多了么.
至于图像拉扯, 估计是字节对齐的问题. --------------------编程问答-------------------- VB.NET --------------------编程问答-------------------- 内存 BITMAP 中单行的字节数必须是4的倍数。
32位图片没像素4字节正好,24位图片就需要对齐了:
你的图片尺寸 73x41;
每行长度为 73*3=219,对齐为 220(看代码这就是 bmdata.Stride 属性的值);
所以整个数组大小应该为 220*41=9020。 --------------------编程问答-------------------- 关键看你的 bmdata.Stride 的值从何而来,公式是什么

bmdata.Stride = bm.Width * 3
if bmdata.Stride mod 2 <> 0 then
   bmdata.Stride = bmdata.Stride + 1
End If --------------------编程问答-------------------- 楼主看看这个 --------------------编程问答-------------------- 还有一个问题点你要注意,你是不是确定你的位图创建时指定的是24位的?有没有可能是32位的?
补充:VB ,  基础类
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,