Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: tworzenie obrazka i zmiana rozmiaru
Forum PHP.pl > Forum > PHP
istrd
Witam mam taki problem mam funckję która w skócie tworzy obrazek z 3 gotowych ,wysyła różne informacje do bazy itp.
Obraz się tworzy wszystko pięknie ale gdy obrazek przekroczy 800 px szerokości to strona się zozwala. Dlatego dodałem if tak jak w fragmęcie poniżej żeby po przerkoczeniu szerokości bezwzględnie zmniejszyło go do 800 px a wysokość pozostała taka sama ale szerkość się nie zmienia. Co jest nie tak ? Pozdrawiam i czekam na odpowiedz

  1.  
  2. $a = imagecreatefromjpeg("gotowe/".$nazwa);
  3. $wysss=imagesy($a);
  4. $szerr=imagesx($a);
  5.  
  6. if($szerr>800)
  7. {
  8. $obraz_zmiana_wielkosci=imagecreatetruecolor(800,$wyss);
  9. $obrazek_tymczasowy=$a;
  10.  
  11. imagecopyresampled($obraz_zmiana_wielkosci, $obrazek_tymczasowy, 0, 0, 0, 0, 800, $wysss, $szerr, $wysss);
  12. }


  1. function create_image($imgM,$imgN,$n,$name,$zrodlo,$tytul)
  2. {
  3.  
  4. // Bibloteka GD
  5. if (!extension_loaded('gd'))
  6. if (!dl('gd.so'))
  7. echo "Nie mogę odnaleźć bibioteki GD!";
  8. ///
  9. if (exif_imagetype($imgN)=="image/gif" || exif_imagetype($imgN)=="image/GIF" || exif_imagetype($imgN)==IMAGETYPE_GIF )
  10. {
  11. $img=imagecreatefromgif($imgN);
  12.  
  13.  
  14.  
  15. }
  16. else if (exif_imagetype($imgN)=="image/png" || exif_imagetype($imgN)=="image/png" || exif_imagetype($imgN)==IMAGETYPE_PNG )
  17. {
  18. $img=imagecreatefrompng($imgN);
  19.  
  20. }
  21. else
  22. {
  23. $img = imagecreatefromjpeg($imgN);
  24. }
  25.  
  26. if (exif_imagetype($imgM)=="image/gif" || exif_imagetype($imgN)=="image/GIF" || exif_imagetype($imgN)==IMAGETYPE_GIF )
  27. {
  28. $img2=imagecreatefromgif($imgN);
  29.  
  30.  
  31.  
  32. }
  33. else if (exif_imagetype($imgM)=="image/png" || exif_imagetype($imgN)=="image/png" || exif_imagetype($imgN)==IMAGETYPE_PNG )
  34. {
  35. $img2=imagecreatefrompng($imgM);
  36.  
  37. }
  38. else
  39. {
  40. $img2= imagecreatefromjpeg($imgM);
  41. }
  42.  
  43.  
  44.  
  45.  
  46.  
  47. $szer=imagesx($img);
  48. $wys=imagesy($img);
  49.  
  50. $szer2=imagesx($img2);
  51. $wys2=imagesy($img2);
  52.  
  53. if($wys>$wys2)
  54. {
  55. $sH=$wys;
  56.  
  57. }
  58. else
  59. {
  60. $sH=$wys2;
  61. }
  62.  
  63. $sW=$szer2+$szer+60;
  64. $oblicz=($sW/2)-115;
  65. $dol=imagecreatefromjpeg("dol.jpg");
  66. $sH=$sH+80;
  67. $nazwa=$n;
  68. $im=@imagecreatetruecolor($sW,$sH);
  69. $black=imagecolorallocate($im,0,0,0);
  70. $white = imagecolorallocate($im, 255, 255, 255);
  71. // $tekst="strona.pl";
  72. $np="to";
  73. $pkt=$sH-20;
  74. $pkt2=$sH-85;
  75. $pkt3=$sH-70;
  76. imagecopy($im,$img,20,40,1,1,$szer,$wys);
  77. imagecopy($im,$img2,$szer+30,40,1,1,$szer2,$wys2);
  78. imagecopy($im,$dol,$oblicz,$sH-37,1,1,230,40);
  79. //imagestring($im,2,175,$pkt,$tekst,$white);
  80. imagejpeg($im,"gotowe/".$nazwa);
  81. imagedestroy($im);
  82. $autor=$name;
  83. $data=date("Y-m-d");
  84. $a=$zrodlo;
  85. $t=$tytul;
  86. $tag=$tagi;
  87.  
  88. $a = imagecreatefromjpeg("gotowe/".$nazwa);
  89. $wysss=imagesy($a);
  90. $szerr=imagesx($a);
  91.  
  92. if($szerr>800)
  93. {
  94. $obraz_zmiana_wielkosci=imagecreatetruecolor(800,$wyss);
  95. $obrazek_tymczasowy=$a;
  96.  
  97. imagecopyresampled($obraz_zmiana_wielkosci, $obrazek_tymczasowy, 0, 0, 0, 0, 800, $wysss, $szerr, $wysss);
  98.  
  99. }
  100.  
  101.  
  102.  
  103. polacz();
  104.  
  105.  
  106. mysql_query("INSERT INTO `poczekalnia` VALUES ('".$id."','".$autor."','".$nazwa."','".$mocne."','".$slabe."','".$a."','".$data."',NOW(),'".$tag."','".$akc."','".$datag."','".$czasg."','".$t."')") or die ("Blad".mysql_error());
  107.  
  108. header("location:index.php?id=poczek");
  109.  
  110.  
  111.  
  112.  
  113. }


naprawde nikt nie jest wstanie wyhaczyć błędu ?
erix
Cytat
naprawde nikt nie jest wstanie wyhaczyć błędu ?

Po prostu jesteś zlewany za brak konkretów.

Cytat
Obraz się tworzy wszystko pięknie ale gdy obrazek przekroczy 800 px szerokości to strona się zozwala.

Super, siedzę w Twojej głowie.
hind
dodaj na obrazek style="max-width:800px" (czy gdzieś w css) po problemie
(nie chce mnie się czytać tego całego kawałka kodu)
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.