ImageMagick sfThumbnail Plugin fix under symfony


/ Published in: PHP
Save to your folder(s)

The plugin's "shave_all" function was not properly cropping and resizing the thumbnails for me. The following needs to be changed in sfImageMagickAdapter.class.php


Copy this code and paste it in your HTML
  1. Change lines 223-237:
  2.  
  3. $width = $this->sourceWidth;
  4. $height = $this->sourceHeight;
  5. $x = $y = 0;
  6. switch (@$this->options['method']) {
  7. case "shave_all":
  8. if ($width > $height)
  9. {
  10. $x = ceil(($width - $height) / 2 );
  11. $width = $height;
  12. }
  13. elseif ($height > $width)
  14. {
  15. $y = ceil(($height - $width) / 2);
  16. $height = $width;
  17. }
  18.  
  19. to:
  20.  
  21. $width = $this->sourceWidth;
  22. $height = $this->sourceHeight;
  23. $mWidth = $this->maxWidth;
  24. $mHeight = $this->maxHeight;
  25. $x = $y = 0;
  26. switch (@$this->options['method']) {
  27. case "shave_all":
  28. if ($width > $height)
  29. {
  30. $x = ceil(($width - ($height*$mWidth)/$mHeight) / 2 );
  31. $width = $height;
  32. }
  33. elseif ($height > $width)
  34. {
  35. $y = ceil(($height - $width*($mHeight/$mWidth)) / 2);
  36. $height = $width;
  37. }

Report this snippet


Comments


You need to login to view comments.