Просмотр исходного кода

:shower: allow extending the luminance source classes

codemasher 4 лет назад
Родитель
Сommit
838853d20b
2 измененных файлов с 8 добавлено и 11 удалено
  1. 5 4
      src/Decoder/GDLuminanceSource.php
  2. 3 7
      src/Decoder/IMagickLuminanceSource.php

+ 5 - 4
src/Decoder/GDLuminanceSource.php

@@ -22,17 +22,18 @@ use const IMG_FILTER_BRIGHTNESS, IMG_FILTER_CONTRAST, IMG_FILTER_GRAYSCALE, PHP_
  * This class is used to help decode images from files which arrive as GD Resource
  * It does not support rotation.
  */
-final class GDLuminanceSource extends LuminanceSourceAbstract{
+class GDLuminanceSource extends LuminanceSourceAbstract{
 
 	/**
 	 * @var resource|\GdImage
 	 */
-	private $gdImage;
+	protected $gdImage;
 
 	/**
 	 * GDLuminanceSource constructor.
 	 *
-	 * @param resource|\GdImage $gdImage
+	 * @param resource|\GdImage                                    $gdImage
+	 * @param \chillerlan\Settings\SettingsContainerInterface|null $options
 	 *
 	 * @throws \chillerlan\QRCode\Decoder\QRCodeDecoderException
 	 */
@@ -56,7 +57,7 @@ final class GDLuminanceSource extends LuminanceSourceAbstract{
 	/**
 	 *
 	 */
-	private function setLuminancePixels():void{
+	protected function setLuminancePixels():void{
 
 		if($this->options->readerGrayscale){
 			imagefilter($this->gdImage,  IMG_FILTER_GRAYSCALE);

+ 3 - 7
src/Decoder/IMagickLuminanceSource.php

@@ -21,16 +21,12 @@ use function count;
  * This class is used to help decode images from files which arrive as Imagick Resource
  * It does not support rotation.
  */
-final class IMagickLuminanceSource extends LuminanceSourceAbstract{
+class IMagickLuminanceSource extends LuminanceSourceAbstract{
 
-	private Imagick $imagick;
+	protected Imagick $imagick;
 
 	/**
 	 * IMagickLuminanceSource constructor.
-	 *
-	 * @param \Imagick $imagick
-	 *
-	 * @throws \InvalidArgumentException
 	 */
 	public function __construct(Imagick $imagick, SettingsContainerInterface $options = null){
 		parent::__construct($imagick->getImageWidth(), $imagick->getImageHeight(), $options);
@@ -43,7 +39,7 @@ final class IMagickLuminanceSource extends LuminanceSourceAbstract{
 	/**
 	 *
 	 */
-	private function setLuminancePixels():void{
+	protected function setLuminancePixels():void{
 
 		if($this->options->readerGrayscale){
 			$this->imagick->setImageColorspace(Imagick::COLORSPACE_GRAY);