Heim > Artikel > Backend-Entwicklung > Verwendung von ImageMagick für PHP;
(1). Erstellen Sie ein neues Bild, 500 Pixel breit, 300 Pixel hoch, schwarz, im PNG-Format
$img =new Imagick(); $img->newImage(500,300,'black','png')
(2). 🎜>
Angenommen, wir wählen $img in Beispiel 1 als Hintergrund aus. Zu diesem Zeitpunkt überlagern wir das Bild mit einer Spurs-BIP-Kombination. Kennen Sie den Pfad des zweiten Bildes es ist $imageSrc="/home/XXXX/spurs.png";Der erste Schritt besteht darin, dieses Bild zu instanziieren$imgtwo = new Imagick($imageSrc);Da wir überlagern möchten, müssen wir die Größe der beiden Bilder auf die gleiche einstellen; zuerst müssen wir die Größe des ersten Bildes anpassen (ps: wir können die Größe auch hier angeben).$height=$img->getImageHeight();//获取图片1高度 $width=$img->getImageWidth();//获取图片1宽度Der zweite Schritt besteht darin, die Größe des Bildes zu ändern
$imgtwo->resizeImage($width,$height,Imagick::FILTER_LANCZOS,1);ResizeImage-Parameterbeschreibung
bool Imagick::resizeImage ( int $columns , int $rows , int $filter , float $blur [, bool $bestfit = false ] )Parametererklärung: Spaltenbreite des BildesZeilen BildhöheFilterfilter, der zum Filtern von Bildern verwendet wird, Gaußscher Filter hängt von der Situation abUnschärfe Unschärfe = 1 ist Unschärfe, Unschärfe = -1 ist SchärfungDer dritte Teil, Bilder überlagernCompositeImage(); verwenden
bool Imagick::compositeImage ( Imagick $composite_object , int $composite , int $x , int $y [, int $channel = Imagick::CHANNEL_ALL ] )Parameterbeschreibung: composite_object: Imagick-Objekt für zusammengeführte Bilder zusammengesetzt: Operation zusammenführen, Operationskonstanten definieren. Weitere Informationen finden Sie in der Konstantenliste der Zusammenführungsoperation x: die Abszisse relativ zur oberen linken Position (0,0) des Bildscheitelpunkts y: die Ordinate relativ zur oberen linken Position Position (0,0) des BildscheitelpunktsKanal: Schalten Sie den Kanalmodus ein, indem Sie eine Kanalkonstante übergeben. Um mehrere Kanäle zu unterstützen, können mehrere Kanalkonstanten durch binäre Rechenoperationen kombiniert werden. ps: Hier wird Bild zwei über Bild eins gelegt
$img->compositeImage($imgtwo,$image->getImageCompose(),0,0)Das generierte Bild sieht wie folgt aus: Endlich
1. Wir können das Bild direkt auf der Webseite anzeigen, aber wir müssen eine Kopfzeile hinzufügen.
header("Content-Type: image/png"); echo $img;(3). Um Text auf dem Bild zu konfigurieren müssen Sie die ImagickDraw-Klasse verwenden.
在当年目录下生成为img.png $file="./img.png"; $img->writeImage($file); 这样就会在当前目录下生成图片img.png;
Der erste Schritt besteht darin, die ImagickDraw-Klasse zu instanziieren:
Schriftfarbe festlegen$draw=new ImagickDraw();Schriftgröße festlegen
$draw->setFillColor(new ImagickPixel('white'));Schriftart festlegen
$draw->setFontSize('25');Schriftrichtung festlegen
$draw->setFont("../fonts/Arial.ttf");ps: Imagick: >
$draw->setTextAlignment(Imagick::ALIGN_RIGHT);
Zeichnen Sie auf die Grundplatte;
$img->drawImage($draw);
NBA历史上最伟大的组合GDP
(4).裁剪图片
这个夏天邓肯退役了,GDP组合解题。我们只能把邓肯去掉
$img->cropImage(300, 300, 0, 20);
第一个参数是图片的宽度
第二个是高度
图片裁剪的x轴位置
图片裁剪Y轴位置
然后我们再把生成一个圆角
$img->roundCorners(60, 60);
就生成了少了邓肯现在马刺,外加一个伦纳德
ps:这里我重新写了文字,变成了GP;