如何附加已经使用appendImage 创建的图像?

发布于 2024-10-22 03:33:39 字数 719 浏览 1 评论 0原文

php 网站列出了以下示例

 <?php

/* Create new imagick object */
$im = new Imagick();

/* create red, green and blue images */
$im->newImage(100, 50, "red");
$im->newImage(100, 50, "green");
$im->newImage(100, 50, "blue");

/* Append the images into one */
$im->resetIterator();
$combined = $im->appendImages(true);

/* Output the image */
$combined->setImageFormat("png");
header("Content-Type: image/png");
echo $combined;
?>

我如何使用从 URL 生成的图像,这样

$image = new Imagick("sampleImage.jpg");

我就可以附加加载的图像,而不是使用 newImage()

The php website lists the following example:

 <?php

/* Create new imagick object */
$im = new Imagick();

/* create red, green and blue images */
$im->newImage(100, 50, "red");
$im->newImage(100, 50, "green");
$im->newImage(100, 50, "blue");

/* Append the images into one */
$im->resetIterator();
$combined = $im->appendImages(true);

/* Output the image */
$combined->setImageFormat("png");
header("Content-Type: image/png");
echo $combined;
?>

How do I use an image generated from a URL instead, such as

$image = new Imagick("sampleImage.jpg");

so that I could append the loaded images instead of using newImage()

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

涫野音 2024-10-29 03:33:39

例如,使用 Imagick::addImage 将各种 Imagick“组合”为一个,然后使用 appendImages (改编自 此处):

<?php
$filelist = array("fileitem1.png","fileitem2.png","fileitem3.png");

$all = new Imagick();

foreach($filelist as $file){
    $im = new Imagick($file);       
    $all->addImage($im);
}
/* Append the images into one */
$all->resetIterator();
$combined = $all->appendImages(true);

/* Output the image */
$combined->setImageFormat("png");
header("Content-Type: image/png");
echo $combined;
?>

Use Imagick::addImage to "combine" the various Imagicks into one and use appendImages afterwards, for example (addapted from here):

<?php
$filelist = array("fileitem1.png","fileitem2.png","fileitem3.png");

$all = new Imagick();

foreach($filelist as $file){
    $im = new Imagick($file);       
    $all->addImage($im);
}
/* Append the images into one */
$all->resetIterator();
$combined = $all->appendImages(true);

/* Output the image */
$combined->setImageFormat("png");
header("Content-Type: image/png");
echo $combined;
?>
彡翼 2024-10-29 03:33:39

您可以使用 fopen() 返回的句柄来使用 url 中的图像。

例子 :

<?php
/* Read images from URL */
$handle1 = fopen('http://yoursite.com/your-image1.jpg', 'rb');
$handle2 = fopen('http://yoursite.com/your-image2.jpg', 'rb');

/* Create new imagick object */
$img = new Imagick();

/* Add to Imagick object */
$img->readImageFile($handle1);
$img->readImageFile($handle2);

/* Append the images into one */
$img->resetIterator();
$combined = $img->appendImages(true);

/* path to save you image */
$path = "/images/combined-image.jpg";

/* Output the image */
$combined->setImageFormat("jpg");
$combined->writeimage( $path );

/* destroy imagick objects */
$img->destroy();
$combined->destroy();

?>

You can use the Handle returned by fopen() to use image from url.

example :

<?php
/* Read images from URL */
$handle1 = fopen('http://yoursite.com/your-image1.jpg', 'rb');
$handle2 = fopen('http://yoursite.com/your-image2.jpg', 'rb');

/* Create new imagick object */
$img = new Imagick();

/* Add to Imagick object */
$img->readImageFile($handle1);
$img->readImageFile($handle2);

/* Append the images into one */
$img->resetIterator();
$combined = $img->appendImages(true);

/* path to save you image */
$path = "/images/combined-image.jpg";

/* Output the image */
$combined->setImageFormat("jpg");
$combined->writeimage( $path );

/* destroy imagick objects */
$img->destroy();
$combined->destroy();

?>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文