php 16位 的是什么,PHP原始16位颜色

博主正在尝试使用PHP将16位灰度PNG图像转换为RGBA4444格式,遇到了图像错误。他们尝试了 Charlie 的建议,但未成功。转换过程中涉及读取PNG的tEXt块,然后将其转换为RGBA8888格式,再打包成PNG。目前的问题在于转换后的图像存在错误。
摘要由CSDN通过智能技术生成

有没有办法使用

PHP将16位(灰度)颜色PNG转换为RGBA4444颜色格式?

-要么-

有没有办法使用RGBA4444格式加载这个16位灰度PNG?

$rgb = imagecolorat($src, $x, $y);

var_dump("RGB - ".dechex($rgb));

$rgba = imagecolorsforindex($src, $rgb);

var_dump("RGBA - ".dechex($rgba));

$rgb(例如)的值是A7,而$rgba是[A7,A7,A7,0].

顺便说一句,这是所述文件的标题:

89 50 4E 47 0D 0A 1A 0A 00 00 00 0D 49 48 44 52 | .PNG........IHDR

00 00 03 FF 00 00 03 FF 10 00 00 00 00 E3 F9 FF | ................

C9 00 00 00 0D 74 45 58 74 44 46 4D 54 00 52 34 | .....tEXtDFMT.R4

47 34 42 34 41 34 E0 94 BA 92 00 00 20 00 49 44 | G4B4A4........ID

41 54 .. .. | AT

编辑:

我首先做的是遵循Charlie(https://stackoverflow.com/a/7293429/2205703)的代码. (当然有一些修改.)然后将每个16位颜色格式(基于tEXt块)转换为RGBA8888格式.

然后,将它们打包为PNG文件格式.但我仍然有图像错误.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值