关键信息
- 分类
- 图像、音频与视频
- 输入类型
- file, select, checkbox
- 输出类型
- file
- 样本覆盖
- 4
- 支持 API
- Yes
概览
PNG转裸像素数据工具可将PNG图像解码,并将其像素数据直接写入不带文件头的二进制裸像素缓冲(RAW)文件中。该工具专为渲染管线、着色器开发和底层图像处理设计,支持自定义位深度(8位或16位)以及Alpha通道预乘设置,无需生成复杂的相机RAW格式。
适用场景
- •需要将PNG图像导入自定义渲染引擎或着色器,且不需要任何图像文件头信息时。
- •在底层图像处理或嵌入式开发中,需要直接读取连续的RGB/RGBA像素内存数据时。
- •需要对图像进行Alpha通道预乘处理,并导出为纯二进制像素缓冲区时。
工作原理
- •上传需要转换的PNG图像文件。
- •选择输出的位深度(每通道8位或16位),并根据需要勾选是否进行Alpha通道预乘。
- •工具解码PNG图像,提取像素数据并按配置处理后,直接写入无文件头的二进制缓冲文件并提供下载。
使用场景
用户案例
1. 游戏引擎纹理快速导入
游戏引擎开发人员- 背景原因
- 正在开发一款自定义的2D游戏引擎,需要将UI贴图快速加载到GPU中,但不想在引擎中集成复杂的PNG解码库。
- 解决问题
- 需要将PNG格式的UI图标转换为无文件头的纯RGBA像素数据,以便直接通过glTexImage2D载入。
- 如何使用
- 上传 ui_icons.png,选择位深度为“每通道8位”,勾选“预乘Alpha通道”,然后点击转换。
- 示例配置
-
位深度: 8位, 预乘Alpha通道: 开启 - 效果
- 获得一个纯二进制的像素缓冲文件,引擎可直接读取该文件并将其作为纹理数据上传至GPU。
2. 嵌入式LCD屏幕图像显示
嵌入式系统工程师- 背景原因
- 在微控制器(MCU)上驱动一块彩色LCD屏幕,MCU的内存和计算资源非常有限,无法运行PNG解码器。
- 解决问题
- 需要将一张PNG格式的系统Logo图片转换为可以直接写入屏幕帧缓冲的裸像素数据。
- 如何使用
- 上传 logo.png,选择位深度为“每通道8位”,不勾选预乘Alpha,直接导出。
- 示例配置
-
位深度: 8位, 预乘Alpha通道: 关闭 - 效果
- 得到一个大小正好等于“宽×高×通道数”字节的二进制文件,MCU读取后可直接通过SPI发送至LCD显示。
用 Samples 测试
image, png, file相关专题
常见问题
这个工具生成的RAW文件是相机的RAW格式(如DNG、CR2)吗?
不是。它生成的是不带任何文件头的纯二进制裸像素数据缓冲文件(Raw Pixel Buffer),而非摄影相机的RAW格式。
转换后的文件包含图像的宽度和高度信息吗?
不包含。输出文件仅包含纯像素数据,您需要在读取该文件时自行指定或记录图像的宽度、高度和通道数。
什么是“预乘Alpha通道”选项?
勾选后,工具会在输出前将每个像素的RGB通道值乘以其对应的Alpha通道值,常用于特定的渲染和合成算法。
支持哪些位深度选择?
支持每通道8位(8-bit)或每通道16位(16-bit)的像素数据导出。
导出的像素通道顺序是怎样的?
默认按照解码后的RGBA(或RGB)顺序依次排列写入二进制文件。