<?php
$img = '../images/card1.jpg'; //
$card=NewMagickWand();
MagickReadImage($card, $img); // MagickWand
$card = MagickTransformImage($card, NULL, 'x190'); //
//
$pr_width = MagickGetImageWidth($card); //
$pr_height = MagickGetImageHeight($card); //
$black=NewPixelWand();
PixelSetColor($black, "#000000"); // PixelWand - .
$rounded=NewDrawingWand(); //
DrawSetFillColor($rounded, $black); //
DrawSetFillAlpha($rounded, 1); //- (), 0 - , 1 -
DrawRoundRectangle($rounded, 3, 3, $pr_width-6, $pr_height-6, 15, 15); //
$border=NewMagickWand(); // ,
MagickNewImage($border, $pr_width, $pr_height, "#ffffff"); //
MagickSetImageFormat($border, 'png'); //
MagickDrawImage($border, $rounded); //
// ---------- ---------------- //
MagickCompositeImage($card, $border, MW_BlendCompositeOp, 0, 0); // , - MW_BlendCompositeOp ( )
// ------------ ----------------- ----------------- ----------------- ---------------- //
//
$border_c=NewPixelWand(); //
PixelSetColor($border_c,"#eeeeee"); //
$rounded_b=NewDrawingWand(); //
DrawSetStrokeColor($rounded_b, $border_c); //
DrawSetStrokeWidth($rounded_b, 1); //
DrawSetFillOpacity($rounded_b, 0); // , -
DrawRoundRectangle($rounded_b, 3, 3, $pr_width-6, $pr_height-6, 15, 15); // -
MagickDrawImage($card, $rounded_b);
/* */
//
$sh_border=NewMagickWand(); //
MagickNewImage($sh_border, $pr_width, $pr_height, "#ffffff"); //
MagickSetImageFormat($sh_border, 'png');
$sh_color=NewPixelWand(); //
PixelSetColor($sh_color, "#aaaaaa"); // -
$sh_rounded=NewDrawingWand(); // ,
DrawSetFillColor($sh_rounded, $sh_color); //
DrawSetFillAlpha($sh_rounded, 1); // -
DrawRoundRectangle($sh_rounded, 6, 6, $pr_width-3, $pr_height-3, 15, 15); // ( - )
MagickDrawImage($sh_border, $sh_rounded); //
MagickBlurImage($sh_border, 3, 3); // blur () -
$sh_fill_color=NewPixelWand(); // -
PixelSetColor($sh_fill_color, "#ffffff"); //
$rounded_fill=NewDrawingWand(); // -
DrawSetFillColor($rounded_fill, $sh_fill_color); //
DrawSetFillAlpha($rounded_fill, 1); //
DrawRoundRectangle($rounded_fill, 3, 3, $pr_width-6, $pr_height-6, 15, 15); // - ,
MagickDrawImage($sh_border, $rounded_fill); //
MagickCompositeImage($sh_border, $card, MW_MultiplyCompositeOp, 0, 0); // , - MW_MultiplyCompositeOp.
header('Content-type: image/jpeg'); // -
MagickEchoImageBlob($sh_border); //
?>
Source: https://habr.com/ru/post/63644/
All Articles