# BMP 转 JPEG／PNG：一份自编24-bit输入的真实结果

2026年10月17日，使用自编641×401 BMP，771578字节，24-bit BI_RGB，正高度bottom-up存储。每行像素BGR字节1923，行跨度1924，padding1字节；按头信息反转存储行序后才得到正常顶到底RGB。A红／B绿在上、C蓝／D紫在下、箭头朝上。这个存储结构不代表输出应上下倒置，也不能推广到所有BMP。输入无alpha／ICC。

## 实际操作与下载

一次上传同一文件，默认JPEG／保留EXIF开启，生成并单图下载一次；只改PNG再生成并单图下载一次。共1次上传、2次运行、2次单图下载、0原生ZIP。每次只点一次下载，下载事件未回报后核对新落盘唯一自有结果；未重复处理。已恢复JPEG选项无第三轮，工具标签已关闭。

`jpeg-settings.jpg`和`png-settings.jpg`均为对应运行前的实际输入／设置截图，只证明当时选项，不标作“成功结果界面”。实际成品证据是原生下载、receipt和字节核对。

## PNG：RGB全部相同，但没有自动透明背景

实际PNG13239字节，641×401、RGBA。257041个像素的RGB逐像素等于按BMP头／BGR／stride／bottom-up独立解码的源，alpha全255；透明及半透明均0。支持alpha的文件格式不会因此自动抠掉这张不透明输入的背景。只对本例输入与输出给出精确RGB结论，不外推任意BMP透明通道。

## JPEG：体积和重编码误差分别说明

实际JPEG37519字节，641×401、RGB无alpha；与解码BMP相比，249253像素、420662通道有差异，全图每通道MAE1.5424180059471706、最大差92。小字、细线、渐变和底部字母区另有数值记录；这些是本次重编码观察，不以非零判断转换失败，也不称JPEG无损或通用视觉质量评分。两份输出都比原BMP小，只说明这三个实际文件，不保证所有文件体积或压缩率。

JPEG含456字节ICC profile，对应470字节APP2payload；原BMP无ICC，因此不能说保留了输入ICC。JFIF density unit0、density1×1是无物理单位比例，不是1DPI或输出DPI设置。这个无EXIF的BMP在开关开启时成功，也不能验证任意元数据保留能力。

## 核对范围

输入准备40／40、主输出56／56、独立输出59／59及独立BMP解析检查30／30分开记录，不相加为一个产品通用测试总数。所有报告只用basename；原BMP、JPEG、PNG及两张UI截图字节均未改。公开checks省略原准备档案notYetVerified／product0状态，按真实输出和receipt说明当前事实。

`comparison.png`为本地解码实际原件与两份成品后排版的静态图，中文说明在图外，不是产品界面；既有输入预览不代替真实PNG成品。

解压运行`python3 verify_bmp_raster.py`。纯标准库只读固定哈希、BMP header／BGR／stride重建RGB、PNG CRC／filter重建RGBA并逐RGB比较、JPEGheader／ICC／JFIF。它不解码JPEG像素、不重做浏览器转换，不是任意BMP或图像质量评测。不联网、不读密钥、不写文件。核对ZIP为本地整理，产品实际0ZIP。

仅这一份641×401、24-bit BI_RGB、正高度bottom-up输入；32-bit alpha、索引色、RLE、bitfields、top-down、批量、其他浏览器和任意DPI未测。

## 市场来源

Bing种子“bmp转jpg”在2026-07-17至2026-10-14、3M、全部国家语言设备显示938市场展示，CSV10行，其中bmp to jpg为2219。同窗口市场展示不是月量、本站流量、排名或SEO提升；jpg转bmp／png转bmp反方向不能归为此能力。原CSV与研究记录hash在checks中。

本次候选整理0新浏览器／产品运行，未写官网。
