php – 将图像转换为预定义的16种颜色
发布时间:2020-12-13 22:48:37 所属栏目:PHP教程 来源:网络整理
导读:给定一个图像文件,将它转换为旧学校16种颜色的最佳方法是什么?即白色,橙色,品红色,浅蓝色,黄色,石灰色,粉红色,灰色,浅灰色,青色,紫色,蓝色,棕色,绿色,红色和黑色. 我制作了一个1×16像素的小图像,其中包含了我可以用作源调色板的所有16种颜色(对吗?)但是我
给定一个图像文件,将它转换为旧学校16种颜色的最佳方法是什么?即白色,橙色,品红色,浅蓝色,黄色,石灰色,粉红色,灰色,浅灰色,青色,紫色,蓝色,棕色,绿色,红色和黑色.
我制作了一个1×16像素的小图像,其中包含了我可以用作源调色板的所有16种颜色(对吗?)但是我在使用它时遇到了麻烦.看起来像imagepalettecopy()是我想要的(采用16像素数据图像的调色板并将其复制到一个新的图像)但我提出的代码不起作用: <?php $palette = imagecreatefrompng( __DIR__ . '/palette.png' ); $source = imagecreatefromjpeg( __DIR__ . '/testimage.jpg' ); $source_w = imagesx( $source ); $source_h = imagesy( $source ); $image = imagecreate( $source_w,$source_h ); imagepalettecopy( $palette,$image ); imagecopy( $image,$source,$source_w,$source_h ); header('Content-Type: image/png'); imagepng( $image ); 它似乎只是将它转换为16种颜色的选择或其他东西(我不太确定). 我错过了什么或做错了什么? 编辑:我的imagepalettecopy()调用是向后的,但修复它也没有帮助.见下面的评论. 解决方法
改变
imagepalettecopy($palette,$image); 成 imagepalettecopy($image,$palette); 工作? 编辑: 我尝试了以下调色板作为gif: 我认为这些颜色与你的颜色不同. 这是我试过的代码(这里没有什么区别): <?php $palette = imagecreatefromgif('palette-gif-03.gif'); $source = imagecreatefromjpeg('test-image-01.jpg'); $source_w = imagesx($source); $source_h = imagesy($source); $image = imagecreate($source_w,$source_h); imagepalettecopy($image,$palette); imagecopy($image,$source_h); header('Content-Type: image/png'); imagepng($image); imagedestroy($imgage); imagedestroy($palette); imagedestroy($source); ?> 这是我的结果: 如果我要删除图片,请告诉我?!! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |