PHP 8.5.0 Beta 3 available for testing

Imagick::optimizeImageLayers

(PECL imagick 2, PECL imagick 3)

Imagick::optimizeImageLayers โ€” ็”ปๅƒใฎ็นฐใ‚Š่ฟ”ใ—้ƒจๅˆ†ใ‚’ๅ‰Š้™คใ—ใฆๆœ€้ฉๅŒ–ใ™ใ‚‹

่ชฌๆ˜Ž

public Imagick::optimizeImageLayers(): bool

GIF ๅฝขๅผใฎ็”ปๅƒใ‚’ใ€ใ‚ทใƒผใ‚ฑใƒณใ‚นๅ†…ใฎใฒใจใคๅ‰ใฎ็”ปๅƒใจๆฏ”่ผƒใ—ใพใ™ใ€‚ ๅฟ…่ฆๆœ€ๅฐ้™ใฎ็”ปๅƒใงๅ„ใƒ•ใƒฌใƒผใƒ ใ‚’็ฝฎใๆ›ใˆใ€็ตๆžœใฎใ‚ขใƒ‹ใƒกใƒผใ‚ทใƒงใƒณใฏใใฎใพใพใจใชใ‚‹ใ‚ˆใ†ใซใ—ใพใ™ใ€‚ ใ“ใฎใƒกใ‚ฝใƒƒใƒ‰ใฏใ€ImageMagick ใƒใƒผใ‚ธใƒงใƒณ 6.2.9 ไปฅ้™ใง Imagick ใ‚’ใ‚ณใƒณใƒ‘ใ‚คใƒซใ—ใŸๅ ดๅˆใซไฝฟ็”จๅฏ่ƒฝใงใ™ใ€‚

ใƒ‘ใƒฉใƒกใƒผใ‚ฟ

ใ“ใฎ้–ขๆ•ฐใซใฏใƒ‘ใƒฉใƒกใƒผใ‚ฟใฏใ‚ใ‚Šใพใ›ใ‚“ใ€‚

ๆˆปใ‚Šๅ€ค

ๆˆๅŠŸใ—ใŸๅ ดๅˆใซ true ใ‚’่ฟ”ใ—ใพใ™ใ€‚

ใ‚จใƒฉใƒผ / ไพ‹ๅค–

ใ‚จใƒฉใƒผๆ™‚ใซ ImagickException ใ‚’ใ‚นใƒญใƒผใ—ใพใ™ใ€‚

ไพ‹

ไพ‹1 Imagick::optimizeImageLayers() ใฎไฝฟ็”จๆณ•

GIF ็”ปๅƒใ‚’่ชญใฟ่พผใฟใ€ๆœ€้ฉๅŒ–ใ—ใฆๆ›ธใๅ‡บใ—ใพใ™ใ€‚

<?php
/* ๆ–ฐใ—ใ„ imagick ใ‚ชใƒ–ใ‚ธใ‚งใ‚ฏใƒˆใ‚’ไฝœๆˆใ—ใพใ™ */
$im = new Imagick("test.gif");

/* ็”ปๅƒใฎใƒฌใ‚คใƒคใ‚’ๆœ€้ฉๅŒ–ใ—ใพใ™ */
$im->optimizeImageLayers();

/* ็”ปๅƒใ‚’ๆ›ธใๆˆปใ—ใพใ™ */
$im->writeImages("test_optimized.gif", true);
?>

ๅ‚่€ƒ

  • Imagick::compareImageLayers() - ่ค‡ๆ•ฐใฎ็”ปๅƒใฎไธญใงๆœ€ๅคงใฎๅขƒ็•Œ็ฏ„ๅ›ฒใ‚’่ฟ”ใ™
  • Imagick::writeImages() - ็”ปๅƒใ‚ใ‚‹ใ„ใฏ็”ปๅƒใ‚ทใƒผใ‚ฑใƒณใ‚นใ‚’ๆ›ธใ่พผใ‚€
  • Imagick::writeImage() - ๆŒ‡ๅฎšใ—ใŸๅๅ‰ใง็”ปๅƒใ‚’ๆ›ธใ่พผใ‚€

๏ผ‹add a note

User Contributed Notes 1 note

up
0
f21 dot groups at gmail dot com ยถ
12 years ago
In imagick 3.x (have not checked 2.x), this returns an imagemagick object and not a boolean.

<?php

$image
= new Imagick('myanimation.gif');

$image = $image->optimizeImageLayers(); //Does not return a boolean!

$image->writeImage('optimized.gif');
To Top