Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [GD] Crop zdjecia
Forum PHP.pl > Forum > PHP
deniol13
Witam, mam na stronie zainstalowany imgAreaSelect
http://odyniec.net/projects/imgareaselect/examples.html
Do wybierana czesci zdjecia z jakiej ma zostac utworzona miniaturka. Mam potem metodę która z obrazka $tmp [nie zmniejszony] wytnie wybrany prostokat.

  1. public function makeThumbnail( $tmp, $news_id, $x1, $x2, $y1, $y2, $width, $height )
  2. {
  3. $news_id = (int) $news_id;
  4. $info = getimagesize( './public/thumbnail/news/tmp/' . $tmp );
  5.  
  6. if( $info[0] > 600 )
  7. {
  8. $small_x = 600;
  9. }
  10. else
  11. {
  12. $small_x = $info[0];
  13. }
  14.  
  15. if( $info[1] > 450 )
  16. {
  17. $small_y = 450;
  18. }
  19. else
  20. {
  21. $small_y = $info[1];
  22. }
  23.  
  24.  
  25. header( 'Content-type: image/jpg' );
  26. $image = imagecreatefromjpeg( './public/thumbnail/news/tmp/' . $tmp );
  27.  
  28. $image_resized = imagecreatetruecolor( $small_x, $small_y );
  29. imagecopyresampled( $image_resized, $image, 0, 0, 0, 0, $small_x, $small_y, $info[0], $info[1] );
  30.  
  31. $crop = imagecreatetruecolor( $small_x, $small_y );
  32. imagecopy( $crop, $image_resized, 0, 0, $x1, $y2, $small_x, $small_y );
  33.  
  34. imagejpeg( $crop, null, 100 );
  35. }


$tmp - oryginalny obrazek
$x1 - punkt x1 z imgAreaSelect
$x2 - punkt x2 z imgAreaSelect
$y1 - punkt y1 z imgAreaSelect
$y2 - punkt y2 z imgAreaSelect
$width - szerokosc prostokata z imgareaselect
$height - wysokosc ^

Problem jest najprawdopobniej w tej linijce
  1. imagecopy( $crop, $image_resized, 0, 0, $x1, $y2, $small_x, $small_y );


Polega on na tym ze przekazuje z formularza wspolrzedne i wywoluje ta metode tj.
  1. $this->makeThumbnail( '8201448e43ea4c6bf50705e801d01cd8.jpg', 4, 151,404, 29, 302, 404 - 151, 302 - 29 );


I wycina mi czesc obrazka, ale nie ta ktora powinno ...
ShadowD
hak widzę coś takiego to mi się coś robi, pomyśl nad tym, czy ktoś może się wyuczyć takiej składni - wiem że są ide ale czasem ich nie ma a pisanie z pamięci jest i tak sprawniejsze.

EDIT:
Pomyliłem wątki myślałem, że to ocena - przepraszam! :-)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.