Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

GrayScaleFilter.php 634B

123456789101112131415161718192021222324252627282930313233
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: robin
  5. * Date: 4/22/16
  6. * Time: 7:58 PM
  7. */
  8. namespace App\Http\Business\Filters;
  9. use ImagickPixel;
  10. class GrayScaleFilter extends AbstractSimpleFilter
  11. {
  12. /**
  13. * @param $pixel ImagickPixel
  14. * @return int
  15. */
  16. public static function toGrayScale($pixel)
  17. {
  18. $color = $pixel->getColor();
  19. return 0.299 * $color["r"] + 0.587 * $color["g"] + 0.114 * $color["b"];
  20. }
  21. /**
  22. * @param ImagickPixel $pixel
  23. */
  24. protected function applyPixel($pixel)
  25. {
  26. $g = self::toGrayScale($pixel);
  27. $pixel->setColor("rgb($g, $g, $g)");
  28. }
  29. }