Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: ImageJpeg powoduje wyswietlenie krzaczkow
Forum PHP.pl > Forum > Przedszkole
quality
Mam taki kod:
  1. <?php
  2.  
  3. $obrazek = ImageCreateFromJpeg("foto/mini/".$img.".jpeg");
  4. $obrazek2 = ImageCreate(30,10);
  5. ImageColorAllocate($obrazek2,255,255,255);
  6.  
  7. $plik_w = imagesx( $obrazek ); // szerokość pliku 
  8. $plik_h = imagesy( $obrazek ); // wysokość pliku 
  9. $znaczek_w = imagesx( $obrazek2 ); // szerokość znaczka 
  10. $znaczek_h = imagesy( $obrazek2); // wysokość znaczka 
  11. $od_x = $plik_w -  $znaczek_w; 
  12. $od_y = $plik_h - $znaczek_h;
  13. ImageString($obrazek,3,$od_x,$od_y,"tekst",$kolortekstu);
  14. imagecopy( $obrazek, $obrazek2, $od_x, $od_y, 0, 0, $znaczek_w, $znaczek_h ); 
  15. ImageString($obrazek,1,$od_x,$od_y," 10 zł","#ffffff");
  16. ImageJpeg($obrazek);
  17.  
  18. ImageDestroy($obrazek); 
  19.  
  20. ?>

Jak go wstawie w srodek strony to mi wyskakuja krzaki zamiast obrazka, ale jak w osobnej podstronie go dam to jest dobrze. Co jest ?
Jak wstawie nagłówek
header("Content-type: image/jpg"); na poczatku strony to mi chce zapisac strone na dysk.

----------
Uzywaj bbcode [ php ]
-- dr_bonzo
crash
Bez wysłania nagłówka będą krzaki... Spróbuj Content-type: image/jpeg albo zmień funkcję generującą grafikę (np. na imagepng) i dostosuj nagłówek.
quality
Probowalem. Ale jak mowie jak dam w osobnej stronie ten skrypt to dziala bez zazutu.
Teraz wstawilem nawet w mecie conten-type:
<meta http-equiv="Content-Type" content="text/html; image/jpg; charset=iso-8859-2">
I nic, krzaczki.
dr_bonzo
Pokaz caly skrypt.

Nie wlaczaj tego skryptu php do kodu strony, tylko w taki sposob:

  1. <img src="skryptGenerujacyGrafike.php" ... />
quality
  1. /w srodku strony wywolywalem ta funkcje tak:
  2. echo '<td width="135">
  3.  
  4.  
  5. <table width="124" border="0" cellspacing="0" cellpadding="0" align="center" class="ramkacala">
  6. <tr>
  7. <td bgcolor="#FFFFFF" height="1" colspan="3"></td>
  8. </tr>
  9. <tr>
  10. <td bgcolor="#FFFFFF" width="2"></td>
  11. <td bgcolor="#FFFFFF" width="122">';
  12.  
  13. miniaturka_cena ($row['id']);
  14.  
  15. echo ' </td>'; // dalszej czesci tabelki niewstawialem dla czytelnosci kodu
  16.  
  17. //to jest funkcja tworzaca obrazek
  18. function miniaturka_cena ($img){
  19. $obrazek = ImageCreateFromJpeg("foto/mini/".$img.".jpeg");
  20. $obrazek2 = ImageCreate(30,10);
  21. ImageColorAllocate($obrazek2,255,255,255);
  22.  
  23. $plik_w = imagesx( $obrazek ); // szerokość pliku
  24. $plik_h = imagesy( $obrazek ); // wysokość pliku
  25. $znaczek_w = imagesx( $obrazek2 ); // szerokość znaczka
  26. $znaczek_h = imagesy( $obrazek2); // wysokość znaczka
  27. $od_x = $plik_w - $znaczek_w;
  28. $od_y = $plik_h - $znaczek_h;
  29. ImageString($obrazek,3,$od_x,$od_y,"tekst",$kolortekstu);
  30. imagecopy( $obrazek, $obrazek2, $od_x, $od_y, 0, 0, $znaczek_w, $znaczek_h );
  31. ImageString($obrazek,1,$od_x,$od_y," 10 zł","#ffffff");
  32. ImageJpeg($obrazek);
  33.  
  34. ImageDestroy($obrazek);
  35. ImageDestroy($obrazek2);
  36.  
  37. };


Ta twoja metode tez probowalem i jeszcze bardziej zagmatwane. Zrobilem tylko tak:
  1. <img src="'.miniaturka_cena ($row['id']).'" width="120" height="90" align="middle">
dr_bonzo
OMG, temat walkowany 100 razy

obrazek.php
  1. <?php
  2. $obrazek = ImageCreateFromJpeg("foto/mini/".$img.".jpeg");
  3. $obrazek2 = ImageCreate(30,10);
  4. ImageColorAllocate($obrazek2,255,255,255);
  5. $plik_w = imagesx( $obrazek ); // szerokość pliku 
  6. $plik_h = imagesy( $obrazek ); // wysokość pliku 
  7. $znaczek_w = imagesx( $obrazek2 ); // szerokość znaczka 
  8. $znaczek_h = imagesy( $obrazek2); // wysokość znaczka 
  9. $od_x = $plik_w - $znaczek_w; 
  10. $od_y = $plik_h - $znaczek_h;
  11. ImageString($obrazek,3,$od_x,$od_y,"tekst",$kolortekstu);
  12. imagecopy( $obrazek, $obrazek2, $od_x, $od_y, 0, 0, $znaczek_w, $znaczek_h ); 
  13. ImageString($obrazek,1,$od_x,$od_y," 10 zł","#ffffff");
  14. ImageJpeg($obrazek);
  15. ImageDestroy($obrazek); 
  16.  
  17.  
  18. + headery
  19.  
  20. ?>


strona.html
  1. blabla...
  2. <img src="obrazek.php" .... />
  3. blabla....


teraz jasne?
quality
Sorki ale nieznalazlem.
Teraz to juz lepiej wyglada, nie ma krzaczkow, ale zamiast obrazka jest ikonka tak jakby niebylo obrazka.
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.