声色贴生成图片总结 Imagick
2014-08-24
都是按以前的程序进行了,但去年8月都可以用Imagick正常生成CMYK的图片,但今天就是不行。
经过一切测试方法及思路,解决方法如下。
问题主要出现在: 生成的二维码是RGB格式,需要转换为CMYK,然后在与CMYK的模块进行图片合成。
第一: 以前生成的二维码是png格式,位深度为8。经过分析将生成的二维码改为jpg格式,位深度为24.
第二:在与模板合成之前,将二维码转换为CMYK格式。然后在与模板合并。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | private function RGBtoCMYK( $source , $save_file , $icc_cmyk , $icc_rgb ){ $img_object = new Imagick( $source ); if ( $img_object ->getImageColorspace() == 1 OR $img_object ->getImageColorspace() == 13) { $profiles = $img_object ->getImageProfiles( '*' , false); $has_icc_profile = ( array_search ( 'icc' , $profiles ) !== false); if ( $has_icc_profile === false) { //$icc_cmyk = file_get_contents('./Public/Img/AdobeRGB1998.icc'); $img_object ->profileImage( 'icc' , $icc_cmyk ); unset( $icc_cmyk ); } //$icc_rgb = file_get_contents('./Public/Img/USWebUncoated.icc'); $img_object ->profileImage( 'icc' , $icc_rgb ); unset( $icc_rgb ); } $image_data = $img_object ->getImageGeometry(); $img_object ->setImageColorspace(12); $img_object ->setImageFormat( 'jpeg' ); $img_object ->writeImage( $save_file ); $img_object ->clear(); $img_object ->destroy(); return $save_file ; } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
2011-08-24 Qt常用类