首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将PNG-8转换为PNG-24 (或其他东西)

将PNG-8转换为PNG-24 (或其他东西)
EN

Stack Overflow用户
提问于 2013-04-26 02:57:17
回答 1查看 901关注 0票数 0

我有一个PHP应用程序.

  1. 用户上传扫描图像(png或jpg)
  2. 我创建注释,并将其保存为透明的png。
  3. 这些注释被“嵌入”到扫描中,输出是一个png文件。

所以,我不知道这是否可能,但是我能把PNG-8转换成PNG-24 (或者其他类型的PNG)吗?

我对PNG类型不太了解,但是根据http://www.fileformat.info,工作图像的元数据看起来如下…

代码语言:javascript
复制
<javax_imageio_png_1.0>
<IHDR width="600" height="764" bitDepth="8" colorType="RGB" compressionMethod="deflate" filterMethod="adaptive" interlaceMethod="none"/>
<pHYs pixelsPerUnitXAxis="7874" pixelsPerUnitYAxis="7874" unitSpecifier="meter"/>
<tIME year="2013" month="4" day="25" hour="14" minute="9" second="17"/>
</javax_imageio_png_1.0>

来自失败图像的元数据看起来是这样的..。

代码语言:javascript
复制
<javax_imageio_png_1.0>
<IHDR width="600" height="755" bitDepth="8" colorType="Grayscale" compressionMethod="deflate" filterMethod="adaptive" interlaceMethod="none"/>
<pHYs pixelsPerUnitXAxis="7874" pixelsPerUnitYAxis="7874" unitSpecifier="meter"/>
<tIME year="2013" month="4" day="23" hour="21" minute="10" second="33"/>
</javax_imageio_png_1.0>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-26 03:00:30

PNG-8是指带有索引调色板的PNG图像.它几乎总是一个较小的文件大小,但限于256种颜色。PNG-24是全彩色的.

在PHP中将调色板图像转换为全色图像的最简单方法如下所示:

代码语言:javascript
复制
$src = imagecreatefrompng("my-indexed-image.png");
$dst = imagecreatetruecolor($w=imagesx($src),$h=imagesy($src));
imagecopy($dst,$src,0,0,0,0,$w,$h);
imagedestroy($src);
// now do stuff with $dst
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16228019

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档