求一个霸气的算法

firefly3233 firefly3233 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
众所周知,BMP图像的一行长度必须是4字节的整数倍。
比如:一个24bits的宽是50像素的BMP,那么一行的长度是50*3=150,不是4的整数倍,我们需要调整成152
又比如:一个8bits的宽是49像素的BMP,那么一行长度是49*1=49,不是4的整数倍,我们需要调整成52
我通常是这样做的:
int nBytes = biBitCount / 8;
DWORD bmWidthBytes = nWidth * nBytes % 4 ? (nWidth * nBytes) + 4 - (nWidth * nBytes % 4) : tgWidth * nBytes;//一行占多少个字节(4字节的倍数)
虽然没有错,但写起来很复杂,且好象不是最优的算法吧?

...全文

相关推荐

评论 11
收藏 已收藏
分享
返回顶部
firefly3233
VC/MFC 16,551 成员 421,605 内容