Commit 01a2d7bf authored by Sebastian Hagens's avatar Sebastian Hagens Committed by Alex Moreno Lopez
Browse files

Issue #3116000 by Sebastian Hagens, bvoynick, aspilicious, alexmoreno,...

Issue #3116000 by Sebastian Hagens, bvoynick, aspilicious, alexmoreno, xandeadx: Add "Imagick" module support
parent 1f1567fc
Loading
Loading
Loading
Loading
+8 −6
Original line number Diff line number Diff line
@@ -89,7 +89,7 @@ class Webp {
    if (!extension_loaded('imagick')) {
      $toolkit = 'gd';
    }
    elseif ($toolkit == 'imagemagick' && !in_array('WEBP', Imagick::queryFormats())) {
    elseif (($toolkit == 'imagemagick' || $toolkit == 'imagick') && !in_array('WEBP', Imagick::queryFormats())) {
      $toolkit = 'gd';
    }

@@ -97,8 +97,8 @@ class Webp {
      $quality = $this->defaultQuality;
    }

    if ($toolkit == 'imagemagick') {
      $webp = $this->createImageMagickImage($uri, $quality);
    if ($toolkit == 'imagemagick' || $toolkit == 'imagick') {
      $webp = $this->createImageMagickImage($uri, $quality, $toolkit);
    }
    else {
      // We assume $toolkit == 'gd'.
@@ -181,15 +181,17 @@ class Webp {
   * @param string $uri
   *   Image URI.
   * @param int $quality
   *   Image quality factor (optional).
   *   Image quality factor.
   * @param string $toolkit
   *   The toolkit ID of the image factory to use.
   *
   * @return bool|string
   *   The location of the WebP image if successful, FALSE if not successful.
   */
  private function createImageMagickImage($uri, $quality = NULL) {
  private function createImageMagickImage($uri, $quality, $toolkit) {
    $webp = FALSE;

    $ImageMagickImg = $this->imageFactory->get($uri, 'imagemagick');
    $ImageMagickImg = $this->imageFactory->get($uri, $toolkit);
    // We'll convert the image into webp.
    $ImageMagickImg->apply('convert', ['extension' => 'webp', 'quality' => $quality]);