Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Wycinek ze zdjęcia nie wyświetla się prawidłowo
alfredo828
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 21.08.2011

Ostrzeżenie: (0%)
-----


  1. Serdecznie witam!
  2. Po raz pierwszy korzystam z tego i jakiegokolwiek forum...
  3.  
  4. Aby wydzielić z oryginalnego zdjęcia jego część, napisałem następujący kod:
  5.  
  6. $oryginal = imagecreatefromjpeg ( 'zdjecie.jpg' );
  7. $nowy = imagecreatetruecolor ( 150, 150 );
  8. imagecopyresized ( $nowy, $oryginal, 0, 0, 450, 450, 150, 150, 150, 150 );
  9. imagejpeg ( $nowy );
  10.  
  11. Komentarz:
  12. $oryginal -> oryginalne zdjęcie z pliku 'zdjecie.jpg' - obecnie 600 x 600 pikseli
  13. $nowy -> nowe zdjęcie, które ma być wycięte z oryginalnego i ma mieć wielkość 150 x 150 pikseli
  14.  
  15. Użyłem funkcji imagecopyresized, a w niej parametrów:
  16. $nowy i $oryginal - jak wyżej
  17. 0, 0 - współrzędne lewego górnego narożnika w nowym zdjęciu
  18. 450, 450 - współrzędne lewego górnego narożnika w oryginalnym zdjęciu -
  19. 150, 150 - szerokość (poziom / pion) nowego zdjęcia
  20. 150, 150 - szerokość (poziom / pion) wyciętego (skopiowanego) fragmentu z oryginalnego zdjęcia.
  21.  
  22. Wydaje mi się, że do tego momentu wszystko działa OK - nic się nie wyświetla, zatem nie ma też komunikatów o jakimś błędzie. Jednakże po wstawieniu ostatniej linijki:
  23. imagejpeg ( $nowy );
  24. pojawia się na ekranie "sieczka" różnych znaków zamiast oczekiwanego fragmentu zdjęcia. Gdzie leży błąd?
Go to the top of the page
+Quote Post
peter13135
post
Post #2





Grupa: Zarejestrowani
Postów: 1 447
Pomógł: 191
Dołączył: 26.03.2008

Ostrzeżenie: (0%)
-----


header("Content-type:image/jpeg"); - dodaj przed imagejpeg


--------------------
:)
Go to the top of the page
+Quote Post
alfredo828
post
Post #3





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 21.08.2011

Ostrzeżenie: (0%)
-----


  1. Po wpisaniu
  2.  
  3. header("Content-type:image/jpeg");
  4.  
  5. pojawia się takie ostrzeżenie:
  6.  
  7. Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\ge\rozne\ina\fotos.php:54) in C:\xampp\htdocs\ge\rozne\ina\fotos.php on line 63
  8.  
  9. a zaraz potem mnogość różnych znaków, które określiłem mianem "sieczki".
Go to the top of the page
+Quote Post
peter13135
post
Post #4





Grupa: Zarejestrowani
Postów: 1 447
Pomógł: 191
Dołączył: 26.03.2008

Ostrzeżenie: (0%)
-----


przed funkcją header nie może nic być wysłane do przeglądarki. Sprawdź czy nie masz spacji przed <?php lub masz kodowanie utf z bom (ma być bez bom)


--------------------
:)
Go to the top of the page
+Quote Post
alfredo828
post
Post #5





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 21.08.2011

Ostrzeżenie: (0%)
-----


Bardzo dziękuję za podpowiedzi i cierpliwość!
Zmieniłem kodowanie na bez BOM i przy okazji trochę na ten temat poczytałem - dla mnie absolutna nowość.
Jednak i ten zabieg nie spowodował oczekiwanego rezultatu.
Teraz kod wygląda następująco:

<?php
$oryginal = imagecreatefromjpeg('foto_01.JPG');
$nowy = imagecreatetruecolor (150,150);
imagecopyresized ($nowy,$oryginal, 0, 0, 450, 450, 150, 150, 150, 150);
header("Content-type:image/jpeg");
imagejpeg($nowy);
?>

Oczywiście jest to fragment kodu programiku do robienia puzzli 4x4. Cos takiego zrobilem w C# i działa bez zarzutu. Teraz chciałbym to zrobić w PHP - swoimi siłami, ale dalej nie mogę wyciąć fragmentu głównego obrazka. Jeżeli uda mi się wyciąć jeden taki obrazek, to już sobie poradzę z innymi. Taką mam nadzieję...
Nie bardzo rozumiem, jak wyeliminować spację przed <?php - co sugerowałeś. Skoro to część kodu, zawsze jakaś może się przyplątać...
Z góry dziękuję za pomoc.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 03:53