在PHP的ImagicDraw中使用Imagic方法

在PHP的ImagicDraw中使用Imagic方法,php,image,imagick,Php,Image,Imagick,我正在使用Imagick库在图像上绘制图像。我需要在图像上绘制一个框,对于此打印图像,我使用的是Imagick,对于绘制图像,我使用的是ImagickDraw 使用Imagick打印图像工作正常。而且ImagickDraw也可以正常工作 当我在imagick中使用edgeImage方法时,会使图像颜色反转。我可以在ImagickDraw中使用edgeImage方法吗 这是我的密码: <?php $draw = new \ImagickDraw(); $draw->setFillOpa

我正在使用
Imagick
库在图像上绘制图像。我需要在图像上绘制一个框,对于此打印图像,我使用的是
Imagick
,对于绘制图像,我使用的是
ImagickDraw

使用
Imagick
打印图像工作正常。而且
ImagickDraw
也可以正常工作

当我在imagick中使用
edgeImage
方法时,会使图像颜色反转。我可以在
ImagickDraw
中使用
edgeImage
方法吗

这是我的密码:

<?php
$draw = new \ImagickDraw();
$draw->setFillOpacity(0.4);
$draw->setStrokeOpacity(1);
$draw->setStrokeColor("rgba(62,46,45,0.9)");
$draw->setFillColor("rgba(62,46,35,0.9)");
$draw->setStrokeWidth(-2);
$draw->setFontSize(0);
$brightness = "-20";
$contrast = "-20";
$channel = "green";
$draw->pathStart();
$draw->pathMoveToAbsolute (10,0);
$draw->rectangle(0, 0, 170, 300);
$draw->pathFinish();

$imagick = new \Imagick();
$imagick->readImage('images/men2.png');
$imagick->setImageFormat("png32");
$imagick->edgeImage(5);
$imagick->drawImage($draw);
header("Content-Type: image/png");

echo $imagick->getImageBlob();

?>


这就是边缘检测的工作原理。为什么要运行边缘检测?目的/原因是什么?是否有效果?你现在可以分享一张图片了吗?我不想使用edgeImage方法。但是我需要使用一些Imagick方法。我可以在ImagickDraw中使用Imagick方法吗?