【问题标题】:How to use imagick's writeImage() function?如何使用 imagick 的 writeImage() 函数?
【发布时间】:2023-03-04 04:58:01
【问题描述】:

如果我将脚本保存在与正在处理的图像相同的目录中,这将有效。并且生成的图像“foo.jpg”也在同一位置生成。

<?php

$im = new imagick('image.jpg');
$im->thumbnailImage( 200, 0);
$im->writeImage("foo.jpg");

?>

但是如果脚本在一个位置,而我希望使用的图像在另一个位置,而我希望保存缩略图的位置在其他位置,如何指定这些路径?

这样做是行不通的:

$im = new imagick('path/to/image.jpg');

【问题讨论】:

  • 检查正确的命名空间,\Imagick 如果您使用的是 PSR 约定。或者也许检查区分大小写的名称,“imagick”而不是“imagick”。您还可以使用标志引用 pathinfo()、file_exists()、is_writable() 或 dirname(),以获取正确的路径并与文件名连接。但无论哪种方式,您都必须设置一个指向所有文件的基本目录。这取决于你。

标签: php image-processing imagemagick imagick


【解决方案1】:

可能是一些文件系统问题。首先尝试在php中获取文件指针并检查是否有任何问题

$fileHandle = fopen("path/to/image.jpg", "w");

然后您可以使用 Imagick 函数(版本 6.3.6 或更高版本);

$im->writeImageFile($filehandle);

【讨论】:

  • 也许你应该声明: $imagick= new Imagick('path/to/image'); $imagick->writeImage('path/to/image'); $imagick->close(); $imagick->destroy();释放所有资源。
猜你喜欢
  • 2013-06-27
  • 2012-04-09
  • 2018-01-08
  • 2012-08-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多