use*_*248 5 php rgb image cmyk
我正在使用以下脚本将图像保存在文件夹中,但有一个图像显示此消息"图像无法显示,因为它包含错误".
我认为这个问题在图像上有一个叫做cmyk和rgb的东西,但是当在网上搜索一种方式,所以使用php将cmyk转换为rgb我找不到如何做到这一点的例子.
以下是一个例子:http://offshootinc.com/blog/2008/10/24/using-the-imagick-class-to-convert-a-cmyk-jpeg-to-rgb/但我不明白如何在我的情况下使用它.
图片的链接类似于:www.example.com/attachment?id = 2290
脚本如下:
<?php
$image = 'http://www.dealrush.ie/attachment?id=2290';
$name = 'somename';
$alt = 'somealt';
$saveimage = file_get_contents($image);
file_put_contents("/usr/local/pem/vhosts/155030/webspace/httpdocs/img/$name.jpg", $saveimage);?>
Run Code Online (Sandbox Code Playgroud)
稍后在某些页面中,我将使用类似的内容来显示图像.<img src ="http://www.example.com/img/ <?php echo $name?>.jpg"alt =" <?php echo $alt?>"height ="127px"width ="190px"/>
任何帮助转换这些图像将不胜感谢谢谢丹尼尔
我怀疑色彩空间(CMYK 或 RGB)是您的问题。尽管每个人都应该在网络上使用 RGB 图像,但浏览器仍然会毫无怨言地显示 CMYK 图像。
要将图像从 CMYK 转换为 RGB,您需要安装图像处理程序,例如 ImageMagick、GraphicsMagick 或 ExactImage。其中任何一个都可以做你想做的,但必须由服务器管理员安装。如果幸运的话,可能已经安装了 ImageMagick,在这种情况下,您可以执行以下操作:
$image= '/path/to/your/file.jpg';
$i = new Imagick($image);
$i->setImageColorspace(Imagick::COLORSPACE_SRGB);
$i->writeImage($image);
$i->destroy();
Run Code Online (Sandbox Code Playgroud)
请注意,ImageMagick 是最强大的,ExactImage 是最快的,而 GraphicsMagick 是 ImageMagick 的一种,它更快但功能稍差,并且有一些错误。PHP 中只能使用 ImageMagick,其他的必须与exec函数一起执行,尽管这不一定是坏事,因为它们可能比 PHP 更好地处理自己的内存和清理。
| 归档时间: |
|
| 查看次数: |
7019 次 |
| 最近记录: |