声色贴生成图片总结 Imagick
2014-08-24
都是按以前的程序进行了,但去年8月都可以用Imagick正常生成CMYK的图片,但今天就是不行。
经过一切测试方法及思路,解决方法如下。
问题主要出现在: 生成的二维码是RGB格式,需要转换为CMYK,然后在与CMYK的模块进行图片合成。
第一: 以前生成的二维码是png格式,位深度为8。经过分析将生成的二维码改为jpg格式,位深度为24.
第二:在与模板合成之前,将二维码转换为CMYK格式。然后在与模板合并。
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;
}
声色贴生成图片总结 Imagick的更多相关文章
- php imagick生成图片需要注意的问题
php imagick生成图片需要注意的问题 坐标必须写死不要写自适应 这样才能达到效果图的最好效果 而且不会出现各种问题如果前端显示的生成图片不达标 可以再写一套代码 把后台生成的图片透明度设成0 ...
- windows7下Wamp安装php扩展imagick(转)
ImageMagick是一套功能强大.稳定而且免费的工具集和开发包,可以用来读.写和处理超过185种基本格式的图片文件,包括流行的TIFF, JPEG, GIF, PNG, PDF以及PhotoCD等 ...
- Ubuntu 安装 ImageMagic(6.9.1-6)及 PHP 的 imagick (3.0.1)扩展
关于 ImageMagic 和 imagick 的介绍,见<图片处理神器ImageMagick以及PHP的imagick扩展> 和 <Ubuntu下安装ImageMagick和Mag ...
- PHP扩展插件 imagick 、PDO_MYSQL 安装
环境准备 echo $LC_ALL echo "export LC_ALL=C" >> /etc/profile source /etc/profile yum ins ...
- php使用imagick模块实现图片缩放、裁剪、压缩示例
PHP 使用Imagick模块 缩放,裁剪,压缩图片 包括gif图片 缩放 裁剪 复制代码代码如下: /** * 图片裁剪 * 裁剪规则: * 1. 高度为空或为零 按宽度缩放 高度自适 ...
- PHP生成图片太慢了。。有些都不出来、
现在为了使用不同宽高的图片,做了个动态生成的程序.每次根据图片传入的宽高来输出图片,然后 html 页面里用 <img src="xxx.com/img?src=c8d997dae15 ...
- 聊聊excel生成图片的几种方式
目录 I:需求. II:实现思路. III:实现方式. IV:优缺点分析. V:结论. VI:wps安装与配置. 正文 1.需求:把excel生成等比的图片. ...
- windows7下php5.4成功安装imageMagick,及解决php imagick常见错误问题。(phpinfo中显示不出来是因为:1.imagick软件本身、php本身、php扩展三方版本要一致,2.需要把CORE_RL_*.dll多个文件放到/php/目录下面)
windows7下 php5.4成功安装imageMagick . (phpinfo中显示不出来是因为:1.软件本身.php本身.php扩展三方版本要一致,2.需要把CORE_RL_*.dll多个 ...
- java使用代理 html2canvas 截屏 将页面内容生成图片
1.html2canvas 生成图片简单又好用,但涉及到跨域就会出现问题,官方给出的解决办法是设置代理.基本原理就是在后端将图片的数据生成base64再返回给前端使用.使canvas画布分析元素的时候 ...
随机推荐
- linux 系统下开机自动启动oracle 监听和实例 (亲测有效)
[oracle@oracle11g ~]$ dbstartORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listene ...
- SpringMVC与ajax相关知识练习与存档
参考文章(亲测有效): SpringMVC+ajax返回JSON串 jquery ajax例子返回值详解 AJAX $.ajax({url:路径,date:数据,}) //get请求(指定回调函数,参 ...
- IOS开发 模型赋值 runtime
#import "CZJsonObject.h" #import <objC/runtime.h> #import <objc/message.h> NSS ...
- MapReduce几个简单的例子
文件合并和去重: 可以把每一行文本作为key,value为随意值. 数字排序: MapReduce过程中就有排序,它是按照key值进行排序的,如果key为封装int的IntWritable类型,那么M ...
- linux下如何开启oracle服务和开启监听
su - oracle 切换到oracle用户模式下 sqlplus /nolog //登录sqlplus SQL> connect /as sysdba //连接oracle SQL&g ...
- ASP通过代码绑定Gridview控件
using System.Configuration;using System.Data.OleDb;using System.Data; public partial class datafilm ...
- netbeans中实体类代码的bug
用了netbeans中实体类代码后,忽然报错: com.sun.tools.javac.code.Symbol$CompletionFailure: 找不到sun.util.logging.Platf ...
- NoSQL精粹(NoSQL Distilled)——序言
之前说到博客长草的问题,想了想除了很忙特别忙非常忙各种瞎忙忙你妹啊外,主要还是不知道写什么好--到这家公司的两年中从JS到领域驱动到缓存服务器从前端到后端各种折腾,有些东西虽然有所心得,不过既然前人已 ...
- C#之delegate
delegate 委托的使用: 封装一个方法,该方法只有一个参数并且不返回值. using System; using System.Windows.Forms; delegate void Disp ...
- Dynamic CRM 2013学习笔记(四十六)简单审批流的实现
前面介绍过自定义审批流: Dynamic CRM 2013学习笔记(十九)自定义审批流1 - 效果演示 Dynamic CRM 2013学习笔记(二十一)自定义审批流2 - 配置按钮 Dynamic ...