我正在编写一个应用程序,需要将专有的位图格式(MVTec Halcon HImage)转换为C#中的System.Drawing.Bitmap。
给我提供帮助完成此操作的唯一专有函数要求我写入文件,除了使用“获取指针”函数之外。
这个函数很好用,它给了我一个指向像素数据、宽度、高度和图像类型的指针。
我的问题是,在使用构造函数创建System.Drawing.Bitmap时:
给我提供帮助完成此操作的唯一专有函数要求我写入文件,除了使用“获取指针”函数之外。
这个函数很好用,它给了我一个指向像素数据、宽度、高度和图像类型的指针。
我的问题是,在使用构造函数创建System.Drawing.Bitmap时:
new System.Drawing.Bitmap(width, height, stride, format, scan)
我需要指定一个是4的倍数的“步幅”。 这可能是个问题,因为我不确定我的函数将处理多大的位图。 假设最终得到的位图是111x111像素,我没有其他办法运行此函数,除非向我的图像添加虚假列或减去3列。
有没有办法可以规避这个限制?
(x+7)/8
操作之前,需要立即将bitsPerPixel
乘以宽度。如果无法将“每像素字节数”表示为整数值,那么它就不是有意义的数据,这在4位或1位图像中是适用的。 - undefined