Overview

Namespaces

  • Scene7
    • Commands
      • Layer
    • Definitions
    • Helpers
      • Html
        • Attributes
    • Requests

Classes

  • Layer

Traits

  • Align
  • Anchor
  • BackgroundColor
  • Cache
  • ColorQuantization
  • Crop
  • DefaultImage
  • EmbedColorProfile
  • EmbedPathData
  • Fit
  • Format
  • Height
  • Id
  • LayerFactory
  • Locale
  • Mask
  • MaskUse
  • MaxJpegSize
  • Message
  • Name
  • OutputColorProfile
  • Perspective
  • PrintResolution
  • Quality
  • RegionOfInterest
  • Resampling
  • Resolution
  • ResponseType
  • Scale
  • ScaleView
  • Template
  • Timeout
  • Type
  • UnsharpMask
  • ViewRectangle
  • Width
  • XmpEmbed
  • Overview
  • Namespace
  • Class
 1:  2:  3:  4:  5:  6:  7:  8:  9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 
<?php

namespace Scene7\Commands;

use Scene7\Definitions\ColorQuantizationTypes;

trait ColorQuantization
{
    /**
     * @param string $type Definitions\ColorQuantizationTypes::*
     * @param bool $disableDiffuse
     * @param string|null $numColors off|diffuse
     * @param string|null $colorList
     * @return $this
     */
    public function setColorQuantization($type, $disableDiffuse = false, $numColors = null, $colorList = null)
    {
        if (!in_array($type, $this->getAllowedColorQuantizationTypes())) {
            throw new \InvalidArgumentException('Invalid palette type');
        }

        $quantize = $type;
        if ($disableDiffuse || $numColors !== null || $colorList !== null) {
            $quantize .= ',' . ($disableDiffuse ? 'off' : 'diffuse');
        }

        if ($numColors !== null || $colorList !== null) {
            $quantize .= ',' . $numColors;
        }

        if ($colorList !== null) {
            $quantize .= ',' . $colorList;
        }

        $this->addCommand(['quantize' => $quantize]);
        return $this;
    }

    public function getAllowedColorQuantizationTypes()
    {
        return [
            ColorQuantizationTypes::ADAPTIVE,
            ColorQuantizationTypes::MAC,
            ColorQuantizationTypes::WEB,
        ];
    }
}
API documentation generated by ApiGen