MagickWand рдФрд░ GD рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЯреЗрдХреНрд╕реНрдЯ рдФрд░ рдЗрдореЗрдЬ рдУрд╡рд░рд▓реЗ

MagickWand рдЙрди рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ рдЬреЛ PHP рдореЗрдВ рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП ImageMagic рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдкреИрдХреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдореЗрдВ рдЯреЗрдХреНрд╕реНрдЯ рдФрд░ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдУрд╡рд░рд▓реЗ рдХреА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред ImageMagic рдХреЛ рдмрд╣реБрдд рддреЗрдЬрд╝ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдмреЗрд╣рддрд░ рдЧреБрдгрд╡рддреНрддрд╛ рд╡рд╛рд▓реЗ рдкрд░рд┐рдгрд╛рдо рдкреИрджрд╛ рдХрд░рддрд╛ рд╣реИ (рд▓реЗрдХрд┐рди рдЬреАрдбреА рдХреА рддрд░рд╣ рд╕рд╛рдорд╛рдиреНрдп рдирд╣реАрдВ)ред рд╣рдо рдЗрд╕реЗ рдПрдХ рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪреЗрдВрдЧреЗред

рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рдЗрд╕ рддрд░рд╣ рд╣реЛрдЧрд╛:

$new_image = NewMagickWand(); //  MagickWand MagickReadImage($new_image, 'image.png'); //     $w = MagickGetImageWidth($new_image); //   $h = MagickGetImageHeight($new_image); /* ---   --- */ MagickSetImageFormat($new_image, 'jpeg'); MagickWriteImage($new_image, 'newimage.jpeg'); //  // ClearMagickWand($new_image); //       DestroyMagickWand($new_image); 


рдЕрдм рдЗрдореЗрдЬ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдХреЛрдб рдкрд░ рдХрд░реАрдм рд╕реЗ рдирдЬрд╝рд░ рдбрд╛рд▓рддреЗ рд╣реИрдВред рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо рдПрдХ рддрд╕реНрд╡реАрд░ рдкрд░ рдкрд╛рда рдХреЙрдкреАрд░рд╛рдЗрдЯ рд▓рд╛рдЧреВ рдХрд░реЗрдВрдЧреЗред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВ:

1. MagickCompositeImage рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд╣рд▓реЗ рд╕реЗ рддреИрдпрд╛рд░ рдкрд╛рд░рднрд╛рд╕реА рдХреЙрдкреАрд░рд╛рдЗрдЯ рдЫрд╡рд┐ рд▓рд╛рдЧреВ рдХрд░реЗрдВ

 $watermark = NewMagickWand(); MagickReadImage($watermark, 'copyright.png'); //   $wc = MagickGetImageWidth($watermark); $hc = MagickGetImageHeight($watermark); MagickCompositeImage($new_image, $watermark, MW_OverCompositeOp, $w-$wc, $h-$hc); //     ClearMagickWand($watermark); //      DestroyMagickWand($watermark); 


2. DrawComposite рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд╣рд▓реЗ рд╕реЗ рддреИрдпрд╛рд░ рдкрд╛рд░рднрд╛рд╕реА рдХреЙрдкреАрд░рд╛рдЗрдЯ рдЫрд╡рд┐ рд▓рд╛рдЧреВ рдХрд░реЗрдВ

 $watermark = NewMagickWand(); MagickReadImage($watermark, 'copyright.png'); $watermark_drawing = NewDrawingWand(); //  DrawingWand   DrawSetGravity($watermark_drawing, MW_SouthEastGravity); //       DrawComposite($watermark_drawing, MW_OverCompositeOp, 0, 0, 0, 0, $watermark); //    MagickDrawImage($new_image, $watermark_drawing); //     ClearMagickWand($watermark); DestroyMagickWand($watermark); ClearDrawingWand($watermark_drawing); DestroyDrawingWand($watermark_drawing); 

рдЗрди рджреЛ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдереЗ:

рдЫрд╡рд┐

рд░рдирдЯрд╛рдЗрдо рд╕рдорд╛рди рд╣реИред рдкрд╣рд▓реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ 20 рд╕реЗ 400 рд╕реЗрдореА рддрдХ рдХреВрджрддрд╛ рд╣реИред 200 рдореА рдХрд╛ рд╕рд╛рд░ рд▓реЗрдВред рджреВрд╕рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдЫрд╡рд┐ рдХреЗ рдЖрдХрд╛рд░ рдФрд░ рдЕрдиреНрдп рдХрд╛рд░рдХреЛрдВ рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░ рд╣реИ рдФрд░ 160ms рдХреА рд░рд╛рд╢рд┐ рд╣реИред

3. MagickAnnotateImage рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреЙрдкреАрд░рд╛рдЗрдЯ рдкрд╛рда рдФрд░ рдУрд╡рд░рд▓реЗ рдЙрддреНрдкрдиреНрди рдХрд░реЗрдВ

 //   $watermark_drawing = NewDrawingWand(); DrawSetFont($watermark_drawing, 'copyright.ttf'); DrawSetFontSize($watermark_drawing, 12); DrawSetGravity($watermark_drawing, MW_NorthWestGravity); //   $pixel_wand = NewPixelWand(); PixelSetColor($pixel_wand, 'black'); PixelSetOpacity($pixel_wand, 0.6); DrawSetFillColor($watermark_drawing, $pixel_wand); //        MagickAnnotateImage($new_image, $watermark_drawing, $w-15, $h-8, -90,' '); ClearDrawingWand($watermark_drawing); DestroyDrawingWand($watermark_drawing); 


4. рдПрдХ рд╣реА рдмрд╛рдд рд╣реИ, рд▓реЗрдХрд┐рди DrawAnnotation рдХреЗ рд╕рд╛рде

 $watermark_drawing = NewDrawingWand(); DrawSetFont($watermark_drawing, 'copyright.ttf'); DrawSetFontSize($watermark_drawing, 12); DrawSetGravity($watermark_drawing, MW_NorthWestGravity); DrawRotate($watermark_drawing, -90); $pixel_wand = NewPixelWand(); PixelSetColor($pixel_wand, 'black'); PixelSetOpacity($pixel_wand, 0.6); DrawSetFillColor($watermark_drawing, $pixel_wand); DrawAnnotation($watermark_drawing, 8-$h, $w-15, ' '); //    . // ,     90┬░     ┬л┬╗,      MagickDrawImage($new_image, $watermark_drawing); ClearDrawingWand($watermark_drawing); DestroyDrawingWand($watermark_drawing); 

рдЗрди рджреЛ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдереЗ:

рдЫрд╡рд┐

рд╢рд┐рд▓рд╛рд▓реЗрдЦ рдереЛрдбрд╝рд╛ рд╕реНрдкрд╖реНрдЯ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдлрд╝реЛрдЯреЛрд╢реЙрдк рдиреЗ рдкрд╣рд▓реЗ рддрд░реАрдХреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкрд╛рда рдХреЛ рдзреБрдВрдзрд▓рд╛ рдХрд░ рджрд┐рдпрд╛ рд╣реИред

рдЧрддрд┐ рд╡рд┐рдзрд┐рдпрд╛рдБ рд╕рдорд╛рди рд╣реИрдВред рд╕рдордп рдмрд╣реБрдд рд░реБрдХ рдЬрд╛рддрд╛ рд╣реИред рдЫреЛрдЯреА рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдпрд╣ 20ms рд╣реИ рдФрд░ 2560 ├Ч 1600 рдореЗрдВ 300ms рддрдХ рдкрд╣реБрдВрдЪ рдЬрд╛рддрд╛ рд╣реИред 150 рдХрд╛ рдФрд╕рдд рдореВрд▓реНрдп рд▓реЗрдВред рдлрд┐рд░ рд╕реЗ, рд╕рд╛рд░ред

рдирд┐рд╖реНрдХрд░реНрд╖: MagickWand рдХреЗ рд╕рд╛рде рдХреЙрдкреАрд░рд╛рдЗрдЯ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ DrawComposite рд╣реИред рдпрд╣ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рд╣реИ (рдЖрдк рди рдХреЗрд╡рд▓ рдкрд╛рда рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ) рдФрд░ рдкреВрд░реНрд╡рд╛рдиреБрдорд╛рди рдХреЗ рд╕рдордп рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЙрд╕рдХреЗ рд▓рд┐рдП рдореВрд▓ рдЫрд╡рд┐ 3 рдпрд╛ 4 рддрд░реАрдХреЛрдВ рд╕реЗ рддреИрдпрд╛рд░ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред

рдЬреАрдбреА рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд┐рд╕реА рднреА рд╕рд░реНрд╡рд░ рдкрд░ рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред рдЗрд╕рдореЗрдВ рд╡рд╣реА рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреИрд╕реЗ:

 list($w, $h) = getimagesize('image.png'); //    $new_image = imagecreatefrompng('image.png'); //   /* ---   --- */ imagejpeg($new_image, 'newimage.jpeg') // imagedestroy($new_image); 


1. рддреИрдпрд╛рд░ рдЫрд╡рд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛

 list($cw, $ch) = getimagesize('copyright.png'); $watermark = imagecreatefrompng('copyright.png'); imagecopy($new_image, $watermark, $w-$cw, $h-$ch, 0, 0, $cw, $ch); //  imagedestroy($watermark); //  


рдЫрд╡рд┐

2. рдкрд╛рда рдкреАрдврд╝реА рдЬреАрдбреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛

 $color = imagecolorallocatealpha($new_image, 0, 0, 0, 60); //     60% imagettftext($new_image, 10, 90, $w-7, $h-12, $color, 'copyright.ttf', ' '); //        


рдЫрд╡рд┐

рдкрд╣рд▓реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рдордп рдЫрд╡рд┐ рдЖрдХрд╛рд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ 0.2 рд╕реЗ 0.7 рдПрдордПрд╕ рддрдХ рдерд╛, рджреВрд╕рд░реЗ рдореЗрдВ - 30% рд▓рдВрдмреЗ рд╕рдордп рддрдХред

рд╕рдЪ рдХрд╣реВрдБ рддреЛ, рд╡рд╣ рдЖрд╢реНрдЪрд░реНрдпрдЪрдХрд┐рдд рдерд╛ рдЬрдм рдЙрд╕рдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдЬреАрдбреА рд▓рдЧрднрдЧ 1000 рдЧреБрдирд╛ рддреЗрдЬреА рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд╕рдЪ рд╣реИ, рдпрд╣ рдЗрдореЗрдЬ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдерд╛, рдЬрд┐рд╕реЗ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдкреНрд░рд╛рд░реВрдк рдХреЗ рдЦреЛрд▓рдиреЗ, рд╕рд╣реЗрдЬрдиреЗ рдФрд░ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд┐рдирд╛ рдорд╛рдкрд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВрдиреЗ рдХрдмреНрдЬреЗ рд╡рд╛рд▓реА рдореЗрдореЛрд░реА рдХреА рдорд╛рддреНрд░рд╛ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рдирд╣реАрдВ рд░рдЦрд╛, рдЗрд╕рд▓рд┐рдП рдбреЗрдЯрд╛ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИред рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреА рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдкреВрд░реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХрд╛ рдорд╛рдкрди рдпрд╣ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХрд┐ рдЬреАрдбреА рдЫреЛрдЯреА рдлрд╛рдЗрд▓реЛрдВ рдкрд░ 10 рдЧреБрдирд╛ рддреЗрдЬреА рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдкреБрд╕реНрддрдХрд╛рд▓рдп рдПрдХ рд╣реА рдЧрддрд┐ (рдореЗрд░реЗ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдорд╛рдиреНрдп) рдХреЗ рд╕рд╛рде рд╕рдмрд╕реЗ рдЖрдо рдЖрдХрд╛рд░ (3тАУ8 рдореЗрдЧрд╛рдкрд┐рдХреНрд╕реЗрд▓) рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рддреЗ рд╣реИрдВред MagickWand (ImageMagic) рдХреЛ рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда рдЬрд╝реВрдо рдЧреБрдгрд╡рддреНрддрд╛ рдХреЗ рд▓рд┐рдП рдкреНрдпрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдлрд┐рд░, рдпрд╣ рдХреЗрд╡рд▓ рдЬрдЯрд┐рд▓ рддрд╕реНрд╡реАрд░реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдЪ рд╣реИред рдХреНрд▓рд┐рдпрд░ рдХрдВрдЯреНрд░реЛрд▓реНрд╕ MW рдмреНрд▓рд░реНрд╕ рднреА

рдЫрд╡рд┐рдЫрд╡рд┐

рджрд┐рд▓рдЪрд╕реНрдк рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЬреАрдбреА рдХреЗ рд▓рд┐рдП рдЗрд╕ рддрд░рд╣ рдХреА PNG рдЫрд╡рд┐ (рджрд╛рдИрдВ рдУрд░) рдХрд╛ рд╡рдЬрди 1.2 KB рдмрдирд╛рдо 6 KB рдерд╛ред рдФрд░ рд╕рднреА рдЗрд╕ рддрдереНрдп рд╕реЗ рдХрд┐ рдЬреАрдбреА рдиреЗ рдкреИрд▓реЗрдЯ рдХреЛ 8-рдмрд┐рдЯ рдореЗрдВ рдмрджрд▓рдиреЗ рдХрд╛ рдЕрдиреБрдорд╛рди рдирд╣реАрдВ рд▓рдЧрд╛рдпрд╛ рдерд╛ред

рддреЛ рдЕрдкрдиреЗ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдкрд░ рдЧрддрд┐ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ (рдореИрдВрдиреЗ рдЗрд╕реЗ рдореИрдХрд╣реЙрд╕реНрдЯ рдкрд░ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛), рдЕрдкрдиреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЧреБрдгрд╡рддреНрддрд╛ рдЪреБрдиреЗрдВ рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛ рд╡рд░реАрдпрддрд╛ рджреЗрдВ, рдпрд╛ рдмрд▓реНрдХрд┐, рдПрдХ рд╕рд┐рдХреНрдХрд╛ рдЯреЙрд╕ рдХрд░реЗрдВ;;

рдмреЛрдирд╕
рдЧреБрдгрд╡рддреНрддрд╛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛

MagickWand рдореЗрдВ, рд╕рд╣реЗрдЬрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЧреБрдгрд╡рддреНрддрд╛ рд╕реЗрдЯрд┐рдВрдЧ рд╕реЗрдЯ рдХреА рдЬрд╛рддреА рд╣реИрдВ

 MagickSetImageCompressionQuality($new_image, $quality); MagickSetImageFormat($new_image, 'jpeg'); MagickWriteImage($new_image, 'newimage.jpeg'); //  

рдпрд╣рд╛рдБ jpeg рдХреЗ рд▓рд┐рдП 0тАУ100 рд╕реЗ $ рдЧреБрдгрд╡рддреНрддрд╛ рд╕рдВрдкреАрдбрд╝рди рдЕрдиреБрдкрд╛рдд рдФрд░ png рдХреЗ рд▓рд┐рдП 0тАУ80 рд╣реИред рдЬреАрдЖрдИрдПрдл рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рд╣реИред
рдЬреЗрдкреАрдИрдЬреА рдХреЗ рд▓рд┐рдП:
0, рдЕрд╢рдХреНрдд - рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕рдВрдкреАрдбрд╝рди ~ 85
1..100 - рднрдпрд╛рдирдХ рдЧреБрдгрд╡рддреНрддрд╛ рд╕реЗ рдкрд░рд┐рдкреВрд░реНрдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдиреНрдирдпрди

рдкреАрдПрдирдЬреА рдХреЗ рд▓рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЧреБрдгрд╡рддреНрддрд╛ рдХреЗ рдиреБрдХрд╕рд╛рди рдХреЗ рдмрд┐рдирд╛ рдПрдХ рдкреНрд░рд╛рд░реВрдк рд╣реИ, рдпрд╣ рдХреЗрд╡рд▓ рдЫрд╡рд┐ рдХреЗ рд╡рдЬрди рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рддрджрдиреБрд╕рд╛рд░, рд╕рдордп рдЗрд╕реЗ рд╕рд░реНрд╡рд░ рджреНрд╡рд╛рд░рд╛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
0, рдЕрд╢рдХреНрдд - рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕рдВрдкреАрдбрд╝рди рдЙрдЪреНрдЪрддрдо рд╣реИ (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЫрд╡рд┐ рдХрд╛ рд╡рдЬрди рдиреНрдпреВрдирддрдо рд╣реИ)
1..80 - рдХрдо рд╕реЗ рдЙрдЪреНрдЪ рд╕рдВрдкреАрдбрд╝рди рдЕрдиреБрдкрд╛рдд (рд▓реЗрдХрд┐рди 0 рдкрд░ рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рд╕рдВрдкреАрдбрд╝рди) рд╕реЗ рдЙрдиреНрдирдпрди

рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ MagickWand рдореЗрдВ рдЖрдк рд╕рдВрдкреАрдбрд╝рди рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЬреЗрдкреАрдИрдЬреА, рдкреАрдПрдирдЬреА, рдЬреАрдЖрдИрдПрдл рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдХреБрдЫ рднреА рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
MagickSetImageCompression ($ рдЫрд╡рд┐, MW_JPEGCompression);

рдЬреАрдбреА рдореЗрдВ, рдЧреБрдгрд╡рддреНрддрд╛ рдХреА рдмрдЪрдд рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рд╕реЗрдЯ рдХреА рдЬрд╛рддреА рд╣реИ

 imagejpeg($new_image, 'newimage.jpeg', $quality) imagepng($new_image, 'newimage.png', $quality) imagegif($new_image, 'newimage.gif') //gif    

рдпрд╣рд╛рдБ jpeg рдХреЗ рд▓рд┐рдП 0тАУ100 рд╕реЗ $ рдЧреБрдгрд╡рддреНрддрд╛ рд╕рдВрдкреАрдбрд╝рди рдЕрдиреБрдкрд╛рдд рдФрд░ png рдХреЗ рд▓рд┐рдП 0тАУ9 рд╣реИред
рдЬреЗрдкреАрдИрдЬреА рдХреЗ рд▓рд┐рдП:
рдЕрд╢рдХреНрдд - рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕рдВрдкреАрдбрд╝рди 75 рд╣реИ
0..100 - рднрдпрд╛рдирдХ рдЧреБрдгрд╡рддреНрддрд╛ рд╕реЗ рдкрд░рд┐рдкреВрд░реНрдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдиреНрдирдпрдиред рд▓рдЧрднрдЧ MagickWand рдХреЗ рд╕рдорд╛рди рд╣реИ

png рдХреЗ рд▓рд┐рдП:
рдЕрд╢рдХреНрдд - рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕рдВрдкреАрдбрд╝рди 0 рд╣реИ (рдЦрд░рд╛рдм рд╕рдВрдкреАрдбрд╝рди)
0..9 - рдХрдо рд╕реЗ рдЙрдЪреНрдЪ рд╕рдВрдкреАрдбрд╝рди рдЕрдиреБрдкрд╛рдд рдореЗрдВ рдЙрдиреНрдирдпрдиред 9 рдХреЗ рдорд╛рди рдХреЗ рд╕рд╛рде, рдЪрд┐рддреНрд░ рдХрд╛ рд╡рдЬрди рд▓рдЧрднрдЧ MagickWand рдореЗрдВ 0 рдХреЗ рд╕рдорд╛рди рд╣реИ

Source: https://habr.com/ru/post/In159209/


All Articles