算法本身参考 csdn博客的一篇文章 《用线性插值算法实现图像缩》(作者:猛禽)
这里主要总结一下实行这个算法中,自己所遇到的问题,由于实行算法的平台和系统非标准,这些总结仅限于个人记录,不具参考性。
1. 24位的Bitmap要用32位,4个字节去处理,而jpeg不用,24位就用3个字节处理。更重要一点,Bitmap的BitmapInforHead->biBitCount = 24.不能改为32. 主要是因为目前的系统已经在loadBitmap时候做了扩展处理,可能是方便BitBlt,今后要规范此函数。
2. 用结构指针时,一定要注意该结构是否分配了内存。要么用malloc位该指针开辟空间,要么先申明结构,由系统自动开辟,再用指针指向该区域。当然两种方法指针的位置不同。
3. Make sure the width of image was roundup as 4 firsly.
rowBytes = ((width + 3) & ~3) * nPixelSize;
看到系统中有这样的处理方式:rowBytes = (width * nPixelSize + 3) & ~3。这是错误,是宽度对其,而不是像素点对其。
24位Bitmap与线性插值算法
本文总结了使用线性插值算法进行图像缩放时遇到的问题,包括如何正确处理24位Bitmap图像的数据,确保图像宽度为4的倍数的方法,以及在使用结构指针时需要注意的内存分配问题。
1333

被折叠的 条评论
为什么被折叠?



