JPEG压缩时图像宽(像素数)为奇数时会出错?

tongyue 2007-07-30 01:00:03
我在写JPEG压缩图片时,如果图像的宽(像素数)为奇数时,程序会出现莫名其妙的错误,而宽为偶数时则能正常压缩.我试了很久,也没找出原因,后来,我去下载了许多JPEG图片,发现宽多是偶数的.为什么?
...全文
445 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
tongyue 2007-09-24
  • 打赏
  • 举报
回复
在BMP文件中,或用API获得图像像素流时,系统为了对齐,会在每一行结束时添加0~3个值为0的字节。原来,我以为是图像宽度除4的余数(width mod 4 ),但实际是:
linebytes = ((.biWidth * .biBitCount + 31&) And &HFFFFFFE0) \ 8
woainihaha 2007-09-11
  • 打赏
  • 举报
回复
BMP以及JPEG格式里要求宽必须为4的整数倍,不足自动增加。我们平时使用的BMP数据都是经过处理的,你自己写的程序没有注意这些当然出错,因为网上下的JPG编码程序里前提就认为你的宽已经设置好了所以没有处理。
tongyue 2007-08-06
  • 打赏
  • 举报
回复
对不起,没写清楚.我用的JPEG压缩程序是自己写的(从网上下的VC,自己做了一些修改,改用VB,并做了调试),压缩过程的源码在我写的文章<解读JPEG文件>中,还有不同的是,获得图像像素流的方法,程序中是用API函数,而文章中是用点颜色值计算转换为(R,G,B).
sxcong 2007-07-30
  • 打赏
  • 举报
回复
用什么程序压缩的?

2,553

社区成员

发帖
与我相关
我的任务
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
  • 多媒体/流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧