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: 48: 49: 
<?php

namespace Scene7\Commands;

use Scene7\Definitions\RenderIntents;

trait OutputColorProfile
{
    /**
     * @param string $object
     * @param string|null $renderIntent One of Definitions\OutputColorProfiles
     * @param bool|null $blackpointComp
     * @param bool|null $dither
     * @return $this
     */
    public function setOutputColorProfile($object, $renderIntent = null, $blackpointComp = null, $dither = null)
    {
        if (!in_array($renderIntent, $this->getAllowedRenderIntents())) {
            throw new \InvalidArgumentException('Invalid render intent');
        }

        $ocp = $object;

        if ($renderIntent !== null || $blackpointComp !== null || $dither !== null) {
            $ocp .= ',' . $renderIntent;
        }

        if ($blackpointComp !== null || $dither !== null) {
            $ocp .= ',' . (int) (bool) $blackpointComp;
        }

        if ($dither !== null) {
            $ocp .= ',' . (int) (bool) $dither;
        }

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

    public function getAllowedRenderIntents()
    {
        return [
            RenderIntents::ABSOLUTE,
            RenderIntents::PERCEPTUAL,
            RenderIntents::RELATIVE,
            RenderIntents::SATURATION,
        ];
    }
}
API documentation generated by ApiGen