registerOption(new OptionType\Range(_('Dimension'), self::OPTION_SIZE, 20, 3000, 800)); $this->registerOption(new OptionType\Range(_('Resolution'), self::OPTION_RESOLUTION, 50, 300, 72)); $this->registerOption(new OptionType\Boolean(_('Remove ICC Profile'), self::OPTION_STRIP, false)); $this->registerOption(new OptionType\Range(_('Quality'), self::OPTION_QUALITY, 0, 100, 75)); } public function getType() { return self::TYPE_IMAGE; } public function getDescription() { return _('Generates a Jpeg image'); } public function getMediaAlchemystSpec() { if (! $this->spec) { $this->spec = new ImageSpecification(); } $size = $this->getOption(self::OPTION_SIZE)->getValue(); $resolution = $this->getOption(self::OPTION_RESOLUTION)->getValue(); $this->spec->setResizeMode(ImageSpecification::RESIZE_MODE_INBOUND_FIXEDRATIO); $this->spec->setDimensions($size, $size); $this->spec->setQuality($this->getOption(self::OPTION_QUALITY)->getValue()); $this->spec->setStrip($this->getOption(self::OPTION_STRIP)->getValue()); $this->spec->setResolution($resolution, $resolution); return $this->spec; } }