Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

3 Stron V  < 1 2 3  
Reply to this topicStart new topic
> Miniaturka JPEG/GIF/PNG, [funkcja] php 4 i 5, gd2
JOHNY
post 20.04.2006, 19:28:09
Post #41





Grupa: Zarejestrowani
Postów: 297
Pomógł: 0
Dołączył: 17.01.2003
Skąd: Tarnów

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


Witam wszystkich sorka że tak wtrące ale czy nie lepiej by było tworzyć miniaturke w tym samym katalogu z dopiskiem:
ex.
katalog/test.jpg
katalog/test_m.jpg
Go to the top of the page
+Quote Post
tiraeth
post 20.04.2006, 19:34:56
Post #42





Grupa: Przyjaciele php.pl
Postów: 1 789
Pomógł: 41
Dołączył: 30.10.2003
Skąd: Wrocław

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


A od czego jest parametr $save_image ? Przecież podajesz tam nazwę pliku, do którego ma zostać zapisana miniaturka smile.gif

Niedługo może poprawię tą funkcję, narazie brak czasu sad.gif
Go to the top of the page
+Quote Post
MalyKazio
post 1.06.2006, 11:43:56
Post #43





Grupa: Zarejestrowani
Postów: 168
Pomógł: 1
Dołączył: 19.11.2005

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


Witam,

Mam problem z tym skryptem. Jest to skrypt z pierwszego postu zmodyfikowany poprzez dodanie osobnego katalogu na miniaturki. I wlasnie w tym problem. Jesli katalog $dir i $dir_mini są jednakowe i wskazuja na docelowe miejsce uploadu duzego pliku to miniatura jest tworzona. Problem tylko w tym, ze jest tworzona w miejsce duzego pliku. Calosc wyglada tak:

  1. <?php
  2. $dir = './obrazki/';
  3.  $dir_mini = './mini/';
  4. function resizeImage($source, $max_x, $max_y, $save_image, $jpeg_quality = 100)
  5. {
  6.  
  7.  /*
  8. * source - obrazek jpeg
  9. * max_x - maksymalna szerokosc pomniejszonego obrazka
  10. * max_y - maksymalna dlugosc pomniejszonego obrazka
  11. * save_image - nazwa pliku do ktorego zostanie zapisany nowy obrazek
  12. * jpeg_quality - jakosc powstalego obrazu jpeg - jezeli bedzie inny to argument jest nie wazny (domyslnie 100)
  13. */
  14.  
  15. if(exif_imagetype($source) == IMAGETYPE_JPEG)
  16. {
  17.  $img_src = imagecreatefromjpeg($source);
  18. }
  19. elseif(exif_imagetype($source) == IMAGETYPE_GIF)
  20. {
  21.  $img_src = imagecreatefromgif($source);
  22. }
  23. elseif(exif_imagetype($source) == IMAGETYPE_PNG)
  24. {
  25.  $img_src = imagecreatefrompng($source);
  26. }
  27. else
  28. {
  29.  die('Wrong filetype! Accepted images: JPG/JPEG, GIF, PNG');
  30. }
  31.  
  32.  $image_x = imagesx($img_src);
  33.  $image_y = imagesy($img_src);
  34.  if($image_x > $image_y) // Landscape
  35.  {
  36. $ratio_x = ($image_x > $max_x) ? $max_x/$image_x : 1;
  37. $ratio_y = $ratio_x;
  38. $move = 'y';
  39.  }
  40.  else // Portrait
  41.  {
  42. $ratio_y = ($image_y > $max_y) ? $max_y/$image_y : 1;
  43. $ratio_x = $ratio_y;
  44. $move = 'x';
  45.  }
  46. $new_x = $image_x*$ratio_x;
  47. $new_y = $image_y*$ratio_y;
  48.  
  49. $move_x = ($move == "x") ? ($max_x-$new_x)/: 0;
  50. $move_y = ($move == "y") ? ($max_y-$new_y)/: 0;
  51.  
  52. $new_img = imagecreatetruecolor($max_x, $max_y);
  53. $background = imagecolorallocate($new_img, 255, 255, 255);
  54. imagefill($new_img, 0, 0, $background);
  55. imagecopyresampled($new_img, $img_src, $move_x, $move_y, 0, 0, $new_x, $new_y, $image_x, $image_y);
  56.  
  57. if(exif_imagetype($save_image) == IMAGETYPE_JPEG)
  58. {
  59.  imagejpeg($new_img, $save_image, $jpeg_quality);
  60. }
  61. elseif(exif_imagetype($save_image) == IMAGETYPE_GIF)
  62. {
  63.  imagegif($new_img, $save_image);
  64. }
  65. elseif(exif_imagetype($save_image) == IMAGETYPE_PNG)
  66. {
  67.  imagepng($new_img, $save_image);
  68. }
  69.  
  70.  echo '<img src="'.$save_image.'" border="1">';
  71. }
  72.  
  73.  
  74. list($width, $height) = getimagesize($_FILES['img']['tmp_name']);
  75.  
  76. // sprawdzamy czy podany plik zostal odebrany
  77.  if (is_uploaded_file($_FILES['img']['tmp_name'])) {
  78. $nazwa_pliku=$_FILES['img']['name'];
  79.  
  80. // wyciagamy rozszrzenie skopiowanego pliku
  81. $rozsz=explode(".",$nazwa_pliku);
  82.  
  83.  
  84. if($rozsz[1]=="gif" || $rozsz[1]=="jpg" || $rozsz[1]=="jpeg" || $rozsz[1]=="png" || $rozsz[1]=="JPG" || $rozsz[1]=="JPEG") {
  85. move_uploaded_file($_FILES['img']['tmp_name'], 'obrazki/' . $_FILES['img']['name']) or die('Error moving image...');
  86. $file=$_FILES['img']['name'];
  87. resizeImage($dir . $file, 100, 100, $dir_mini . $file, 75);
  88.  
  89. echo "$file<BR>";
  90. echo "$dir<BR>";
  91. echo "$dir_mini<BR>";
  92.  
  93. } else {
  94. echo "Niewlasciwy format pliku!";
  95. }
  96. }
  97. ?>


Nie wiem co moglem zrobic zle bo juz kombinowalem na wszystkie sposoby i zmienialem chyba prawie wszystko. Wykonanie powyzszego kodu wyswietla:

  1. Warning: exif_imagetype(./mini/DSCK0051.JPG): failed to open stream: No such file or directory in /testowy/upload.php on line 57
  2.  
  3. Warning: exif_imagetype(./mini/DSCK0051.JPG): failed to open stream: No such file or directory in /testowy/upload.php on line 61
  4.  
  5. Warning: exif_imagetype(./mini/DSCK0051.JPG): failed to open stream: No such file or directory in /testowy/upload.php on line 65


Ok, juz sobie poradzilem. Dziala drugi kod, ten bez exif

Ten post edytował MalyKazio 5.06.2006, 11:58:41


--------------------
"Jak Cię widzą tak Cię piszą, chyba żeś jest wielką fiszą"
Go to the top of the page
+Quote Post
amator01
post 26.08.2006, 19:30:47
Post #44





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 25.01.2006

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


przy tym skrypcie do miniatur ( 2 wersji bez exif )
mam "problem" polegajacy na mojej niewiedzy, otorz :
  1. Fatal error: Call to undefined function: imagecreatefromjpeg() in D:\USR\www\test\miniaturki.php on line 30

zapewne musze zainstalowac jakas biblioteke czy cos co ?
ktos moze mi powiedziec co ?
mam na kompie Apacha 2.0.55 + php 4.4.2


--------------------
pozdrawiam maciek p

Apache/2.0.55 (Win32)
php/4.4.2
Go to the top of the page
+Quote Post
tiraeth
post 26.08.2006, 20:16:17
Post #45





Grupa: Przyjaciele php.pl
Postów: 1 789
Pomógł: 41
Dołączył: 30.10.2003
Skąd: Wrocław

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


Nie masz biblioteki GD2+ smile.gif
Go to the top of the page
+Quote Post
tiraeth
post 29.08.2006, 16:16:55
Post #46





Grupa: Przyjaciele php.pl
Postów: 1 789
Pomógł: 41
Dołączył: 30.10.2003
Skąd: Wrocław

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


resize.phps na tiraeth.info

Przykład użycia:
  1. <?php
  2. makeThumbnail ( 'stars_s.jpg', 117, 117, 'scale', true, 100, 'gif' );
  3. ?>

Otworzy obrazek jpg, zeskaluje do max. 117 na 117 i wyświetli jako gif.
Go to the top of the page
+Quote Post
cichy19-
post 3.09.2006, 18:26:30
Post #47





Grupa: Zarejestrowani
Postów: 100
Pomógł: 0
Dołączył: 5.06.2006

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


Witam,

Znalazł ktoś sposób na miniaturki zdjęć z telefonu komórkowego?

Zawsze sypią się błędy.
Go to the top of the page
+Quote Post
pb17
post 11.11.2006, 17:57:28
Post #48





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 21.02.2006

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


Cytat(tiraeth @ 29.08.2006, 16:16:55 ) *
resize.phps na tiraeth.info

Przykład użycia:
  1. <?php
  2. makeThumbnail ( 'stars_s.jpg', 117, 117, 'scale', true, 100, 'gif' );
  3. ?>

Otworzy obrazek jpg, zeskaluje do max. 117 na 117 i wyświetli jako gif.


zapisałem ten kod do pliku miniatura.php

  1. <?php
  2. ini_set('display_errors', 1);
  3. ?>
  4. <?php
  5. /***
  6.  * Author : Marcin (tiraeth) Chwedziak
  7.  * Contact : me[at]tiraeth.info
  8.  * Website : <a href="http://tiraeth.info/blog/" target="_blank">http://tiraeth.info/blog/</a>
  9.  * Created : 08/23/2006 4:41 pm
  10.  * 
  11.  * 
  12.  * mixed makeThumbnail ()
  13.  * ---
  14.  * imageHandle - name of file to create thumbnail
  15.  * destWidth - destination image width
  16.  * destHeight - destination image height
  17.  * scaleType - scale, fit or resize
  18.  * displayImage - true, if you want to display image or filename if you want to save image
  19.  * jpegQuality - quality of jpeg image if you are creating jpeg file
  20.  * returnType - destination image type (gif,jpeg,png,wbmp or default if you want to use source file type)
  21.  */
  22. function makeThumbnail ( $imageHandle, $destWidth, $destHeight, $scaleType = 'scale', $displayImage = true, $jpegQuality = 92, $returnType = 'default' )
  23. {
  24. if ( $displayImage === true ) {}
  25. else { $savePath = $displayImage; $displayImage = false; }
  26.  
  27. if ( file_exists($imageHandle) )
  28. {
  29. $imgType = getimagesize($imageHandle);
  30. $imgType = $imgType[2];
  31. switch ( $imgType )
  32. {
  33. case 1 : $imgType = 'gif'; break;
  34. case 2 : $imgType = 'jpeg'; break;
  35. case 3 : $imgType = 'png'; break;
  36. case 6 : $imgType = 'bmp'; break;
  37. default : $imgType = 'illegal';
  38. }
  39.  
  40. if ( $imgType == 'illegal' )
  41. {
  42. if ( $displayImage )
  43. {
  44. echo 'Error: Incorrect file type. You can only use GIF/JPEG/PNG and BMP files.';
  45. }
  46. else
  47. {
  48. return array('error_message' => 'Incorrect file type. You can only use GIF/JPEG/PNG and BMP files.');
  49. }
  50. }
  51.  
  52. $imgSrc = false;
  53.  
  54. switch ( $imgType )
  55. {
  56. case 'gif' :
  57. $imgSrc = @imagecreatefromgif($imageHandle);
  58. break;
  59. case 'jpeg' :
  60. $imgSrc = @imagecreatefromjpeg($imageHandle);
  61. break;
  62. case 'png' :
  63. $imgSrc = @imagecreatefrompng($imageHandle);
  64. break;
  65. case 'bmp' :
  66. $imgSrc = @imagecreatefromwbmp($imageHandle);
  67. break;
  68. }
  69.  
  70. if ( $imgSrc == '' )
  71. {
  72. if ( $displayImage )
  73. {
  74. echo 'Error: Could not create image handle.';
  75. }
  76. else
  77. {
  78. return array('error_message' => 'Could not create image handle.');
  79. }
  80. }
  81. }
  82. else
  83. {
  84. if ( $displayImage )
  85. {
  86. echo 'Error: File doesn't exists.';
  87. }
  88. else
  89. {
  90. return array('error_message' => 'File doesn't exists.');
  91. }
  92. }
  93.  
  94. $imageWidth = imagesx($imgSrc);
  95. $imageHeight = imagesy($imgSrc);
  96.  
  97. if ( $scaleType == 'scale' )
  98. {
  99. // Scale
  100. if ( $imageWidth > $imageHeight )
  101. {
  102. // Landscape
  103. $newWidth = $destWidth;
  104. $newHeight = ceil ( $imageHeight * $newWidth / $imageWidth );
  105. }
  106. elseif ( $imageWidth < $imageHeight )
  107. {
  108. $newHeight = $destHeight;
  109. $newWidth = ceil ( $imageWidth * $newHeight / $imageHeight );
  110. }
  111. else
  112. {
  113. $newWidth = $destWidth;
  114. $newHeight = $destHeight;
  115. }
  116. $movex = 0;
  117. $movey = 0;
  118.  
  119. $createWidth = $newWidth;
  120. $createHeight = $newHeight;
  121. }
  122. elseif ( $scaleType == 'fit' )
  123. {
  124. // Fit
  125. if ( $imageWidth > $imageHeight )
  126. {
  127. $newHeight = $destHeight;
  128. $newWidth = ceil ( $imageWidth * $newHeight / $imageHeight );
  129.  
  130. $movex = ceil ( ($newWidth - $destWidth)/)*-1;
  131. $movey = 0;
  132. }
  133. elseif ( $imageWidth < $imageHeight )
  134. {
  135. $newWidth = $destWidth;
  136. $newHeight = ceil ( $imageHeight * $newWidth / $imageWidth );
  137.  
  138. $movex = 0;
  139. $movey = ceil ( ($newHeight - $destHeight)/)*-1;
  140. }
  141. else
  142. {
  143. $newWidth = $destWidth;
  144. $newHeight = $destHeight;
  145.  
  146. $movex = 0;
  147. $movey = 0;
  148. }
  149.  
  150. $createWidth = $destWidth;
  151. $createHeight = $destHeight;
  152. }
  153. else
  154. {
  155. // Resize
  156. $newWidth = $destWidth;
  157. $newHeight = $destHeight;
  158. $movex = 0;
  159. $movey = 0;
  160.  
  161. $createWidth = $newWidth;
  162. $createHeight = $newHeight;
  163. }
  164.  
  165. $imgDest = imagecreatetruecolor ( $createWidth, $createHeight );
  166.  
  167. imagecopyresampled ( $imgDest, $imgSrc, $movex, $movey, 0, 0, $newWidth, $newHeight, $imageWidth, $imageHeight );
  168.  
  169. if ( $displayImage )
  170. {
  171. header("Content-type: image/" . $imgType);
  172. }
  173.  
  174. if ( $returnType == 'default' )
  175. {
  176. switch ( $imgType )
  177. {
  178. case 'gif' :
  179. if ( $displayImage ) { imagegif($imgDest); }
  180. else { imagegif($imgDest, $savePath); }
  181. break;
  182. case 'jpeg' :
  183. if ( $displayImage ) { imagejpeg($imgDest, '', $jpegQuality); }
  184. else { imagegif($imgDest, $savePath); }
  185. break;
  186. case 'png' :
  187. if ( $displayImage ) { imagepng($imgDest); }
  188. else { imagepng($imgDest, $savePath); }
  189. break;
  190. case 'bmp' :
  191. if ( $displayImage ) { imagewbmp($imgDest); }
  192. else { imagewbmp($imgDest, $savePath); }
  193. break;
  194. }
  195. }
  196. else
  197. {
  198. switch ( $returnType )
  199. {
  200. case 'gif' :
  201. if ( $displayImage ) { imagegif($imgDest); }
  202. else { imagegif($imgDest, $savePath); }
  203. break;
  204. case 'jpeg' :
  205. if ( $displayImage ) { imagejpeg($imgDest, '', $jpegQuality); }
  206. else { imagegif($imgDest, $savePath); }
  207. break;
  208. case 'png' :
  209. if ( $displayImage ) { imagepng($imgDest); }
  210. else { imagepng($imgDest, $savePath); }
  211. break;
  212. case 'bmp' :
  213. if ( $displayImage ) { imagewbmp($imgDest); }
  214. else { imagewbmp($imgDest, $savePath); }
  215. break;
  216. }
  217. }
  218.  
  219. if ( $displayImage == false )
  220. {
  221. return array(
  222. 'filename' => $imageHandle,
  223. 'save_path' => $savePath,
  224. 'image_width' => $imageWidth,
  225. 'image_height' => $imageHeight,
  226. 'return_width' => $newWidth,
  227. 'return_height' => $newHeight,
  228. 'image_type' => $imgType,
  229. 'return_type' => ( $returnType == 'default' ) ? $imgType : $returnType,
  230. 'jpeg_quality' => ( $returnType == 'jpeg' || ( $returnType == 'default' && $imgType == 'jpeg' ) ) ? $jpegQuality : false,
  231. );
  232. }
  233. }
  234.  
  235. makeThumbnail ( '1.jpg', 100, 100, 'scale', true, 100, 'jpg' );
  236. ?>

Mam plik a.jpg w tym samym katalogu co powyższy skrypt, gdy go wywołuje, ani się nie tworzy miniaturka, ani mi jej nie wyświetla ;f raportowanie błędów jak widać włączone i nic mi się nie wyświetla ;/
Go to the top of the page
+Quote Post
Zimon
post 26.11.2006, 09:49:38
Post #49





Grupa: Zarejestrowani
Postów: 33
Pomógł: 0
Dołączył: 7.08.2006

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


a jak przerobić ten skrypt aby jeśli mamy zdjęcie wieksze niż 1024x768 to skalował je do tych wymiarów i tworzył później miniaturkę i dodawał wpis do bazy danych z linkiem do małego i dużego zdjęcia??

pomoże mi ktoś czy nie
Go to the top of the page
+Quote Post
skowron-line
post 26.11.2006, 11:00:09
Post #50





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


getimagesize
sprawdzasz jakie ma rozmiary i jak sa za duze to zmniejszasz i dodajesz do bazy a jak nie sa to tylko dodajesz


--------------------
I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy.

QueryBuilder, Mootools.net, bbcradio1::MistaJam
http://www.phpbench.com/
Go to the top of the page
+Quote Post
jaszu
post 8.06.2007, 09:52:47
Post #51





Grupa: Zarejestrowani
Postów: 50
Pomógł: 0
Dołączył: 20.05.2006

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


moze ktos wrzucic ten kod na phpfi.com, bo forum cos psuje kody zrodlowe i mi nie chodza ;/
Go to the top of the page
+Quote Post
smarcz
post 25.07.2007, 12:05:55
Post #52





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 12.05.2005

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


  1. <?
  2. /*
  3. Funkcja która zapisuje przekazywany w formularzu obrazek do odpowiedniego format
    u oraz rozdzielczości.
  4.  
  5. Funkcja posiada 4 (cztery) argumenty,
  6. $roz - rodzielczość w jakiej ma być zapisany nowy obraz
  7. $img - nazwa pola z którego przekazywany jest obrazek
  8. $sciezka - sciezka zapisu obrazka
  9. $nnazwa - nowa nazwa nadana obrazkowi po stronie serwera
  10. */
  11.  
  12. function zap_img_x($roz, $img, $sciezka, $nnazwa){
  13.  
  14. ///echo "Jaka rozdzielczość - $roz<br>";
  15. //echo "Jaka nazwa pliku - $img<br>";
  16. //echo "Jaka ścieżka zapisu - $sciezka<br>";
  17. //echo "Nowa nazwa pliku - $nnazwa<br>";
  18.  
  19. //1.) Określam parametry zdjęcia - typ, zapisuje ściężkę tmp_name do zmiennej - plik
  20. $typ = $_FILES['img']['type'];
  21. $plik = $_FILES['img']['tmp_name'];
  22.  
  23. //echo "PLIK - $plik<br>";
  24.  
  25. //2.) Określam szerokość w pixelach
  26. $x = $roz;
  27.  
  28. //echo "X - $x<br>";
  29. //3.) Nadaję nową nazwę dla zdjęcia
  30.  
  31. $mojaNazwa1 = $nnazwa . '.jpg';
  32.  
  33. //echo "Nazwa - $mojaNazwa1<br>";
  34.  
  35.  
  36.  
  37. //5.) Zapisuje obraz w odpowiednim formacie
  38. //Przetwarzanie obrazka z formatu jpg i jpeg
  39.  
  40. if (ereg("image/jpeg", $typ) or ereg("image/pjpeg", $typ)){
  41.  
  42. $zdj = ImageCreateFromJpeg($plik);
  43. $zdjx = ImageSX($zdj);
  44. $zdjy = ImageSY($zdj);
  45. $y = ceil($zdjy*($x/$zdjx));
  46. $nowezdj = imagecreatetruecolor($x, $y);
  47. imagecopyresampled($nowezdj,$zdj,0,0,0,0,$x,$y,$zdjx,$zdjy);
  48. imagejpeg($nowezdj, $sciezka . $mojaNazwa1 ,120);
  49. imagedestroy($zdj);
  50. //echo "$zdjx, $zdjy, $x, $y, $nowezdj<br> $sciezka . $mojaNazwa1 ok";
  51. }
  52.  
  53. //Przetwarzanie obrazka z formatu gif
  54. elseif(ereg("image/gif", $typ)){
  55.  
  56. $zdj = ImageCreateFromGIF($plik);
  57. $zdjx = ImageSX($zdj);
  58. $zdjy = ImageSY($zdj);
  59.  
  60. $y = ceil($zdjy*($x/$zdjx));
  61. $nowezdj = imagecreatetruecolor($x, $y);
  62. imagecopyresampled($nowezdj,$zdj,0,0,0,0,$x,$y,$zdjx,$zdjy);
  63. imagejpeg($nowezdj, $sciezka . $mojaNazwa1 ,100);
  64. imagedestroy($zdj);
  65. //echo "ok";
  66. }
  67.  
  68. //Przetwarzanie obrazka z formatu png
  69. elseif(ereg("image/png", $typ)){
  70.  
  71. $zdj = ImageCreateFromPng($plik);
  72. $zdjx = ImageSX($zdj);
  73. $zdjy = ImageSY($zdj);
  74.  
  75. $y = ceil($zdjy*($x/$zdjx));
  76. $nowezdj = imagecreatetruecolor($x, $y);
  77. imagecopyresampled($nowezdj,$zdj,0,0,0,0,$x,$y,$zdjx,$zdjy);
  78. imagejpeg($nowezdj, $sciezka . $mojaNazwa1 ,100);
  79. imagedestroy($zdj);
  80. //echo "ok";
  81. }
  82. else{
  83. echo("Niepoprawny format");
  84. }
  85.  
  86. }
  87.  
  88.  
  89. ?>


Co do memory limit - to działa to tak, żeby nie przerwać skryptu należy wcześniej opracować warunek, który sprawdza szerokość x wysokość obrazka i pomnożyć przez odpowiedni współczynnik. W zależności od rozdzielczości obrazka waha się on od 3 i więcej - najbardziej optymalny z moich testów to 5
Nie należy przekroczyć 3 MB pamięci po stronie serwera

Ten post edytował smarcz 25.07.2007, 12:10:39
Go to the top of the page
+Quote Post
sanchoo
post 12.09.2007, 14:49:44
Post #53





Grupa: Zarejestrowani
Postów: 161
Pomógł: 1
Dołączył: 11.02.2007
Skąd: Kraków

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


a jaj mam problem :/ caly kod przechodzi nie wywala bledu.. a miniaturki nie ma :/
...sprawdzalem "gdzie zapisuje" podaje nawet sciezke z home.. /home/user//sa..... nie wiem co sie dzieje :/
Go to the top of the page
+Quote Post
b_chmura
post 9.12.2007, 19:53:07
Post #54





Grupa: Zarejestrowani
Postów: 813
Pomógł: 34
Dołączył: 18.03.2007
Skąd: o stamtąd

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


Trochę zmieniłem w/w funkcję. Teraz jeśli podana szerokość lub wysokość jest większa jak ta w oryginalnym obrazku to zostaje ona zmniejszona do tej mniejszej (oryginalnej).

Kod
  1. <?php
  2. function img_typ($name) 
  3. {
  4. $name = strtolower(substr($name, -4, 4));
  5.  
  6. if($name == '.jpg' OR $name == 'jpeg') 
  7. {
  8. return ".jpg";
  9. }
  10. elseif($name == '.gif') 
  11. {
  12. return ".gif";
  13. }
  14. elseif($name == '.png')
  15. {
  16. return ".png";
  17. }
  18. }
  19. /////////////////////////////////////////////////////////////////////////////////////
  20. function mini($in, $max_width, $max_height, $out, $jakosc) 
  21. {
  22.  
  23. $typ = img_typ($in);
  24.  
  25. if ($typ == ".jpg") {$img_src = imagecreatefromjpeg($in);}
  26. elseif($typ == ".gif") {$img_src = imagecreatefromgif($in); }
  27. elseif($typ == ".png") {$img_src = imagecreatefrompng($in); }
  28.  
  29. $x = imagesx($img_src);
  30. $y = imagesy($img_src);
  31.  
  32. if($x > $y) 
  33. {
  34. $xr = ($x > $max_width)$max_width/$x : 1;
  35. $yr = $xr;
  36. }
  37. else 
  38. {
  39. $yr = ($y > $max_height)$max_height/$y : 1;
  40. $xr = $yr;
  41. }
  42.  
  43. $new_x = $x*$xr;
  44. $new_y = $y*$yr;
  45.  
  46. $new_img = imagecreatetruecolOR($new_x, $new_y);
  47. $background = imagecolORallocate($new_img, 255, 255, 255);
  48.  
  49. imagefill($new_img, 0, 0, $background);
  50. imagecopyresampled($new_img, $img_src, 0, 0, 0, 0, $new_x, $new_y, $x, $y);
  51.  
  52. $typ = img_typ($out);
  53.  
  54. if ($typ == ".jpg") {imagejpeg($new_img, $out, $jakosc);}
  55. elseif($typ == ".png") { imagepng($new_img, $out, $jakosc);}
  56. elseif($typ == ".gif") { imagegif($new_img, $out);  }
  57. }
  58. ?>
Go to the top of the page
+Quote Post
in5ane
post 17.12.2007, 07:56:23
Post #55





Grupa: Zarejestrowani
Postów: 1 335
Pomógł: 34
Dołączył: 9.11.2005
Skąd: Wrocław

Ostrzeżenie: (10%)
X----


Przepraszam, ale mam pytanie. I który skrypt wykorzystać? Ale też ten do tych duuuużych obrazków. Z góry dziękuję smile.gif


--------------------
> > > Tworzenie stron < < <
Go to the top of the page
+Quote Post
piotr94
post 11.03.2009, 17:41:33
Post #56





Grupa: Zarejestrowani
Postów: 331
Pomógł: 30
Dołączył: 11.11.2008
Skąd: Kraków

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


Witam!.
Nie ważne z którego skryptu korzystam, nie działają one przy większych obrazkach.
czy znacie jakies skrypty które poradzą sobie z większymi od 1024*768 questionmark.gif


--------------------
http://www.piotr94.net21.pl/ - wykonanie stron i serwisów internetowych
Jeśli moje wypowiedzi były dla Ciebie pomocne, kliknij "Pomógł" i odwdzięcz się ;)
Go to the top of the page
+Quote Post
siemieng
post 2.04.2009, 23:35:43
Post #57





Grupa: Zarejestrowani
Postów: 101
Pomógł: 7
Dołączył: 16.01.2007

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


Cytat(piotr94 @ 11.03.2009, 18:41:33 ) *
Witam!.
Nie ważne z którego skryptu korzystam, nie działają one przy większych obrazkach.
czy znacie jakies skrypty które poradzą sobie z większymi od 1024*768 questionmark.gif


Brak możliwości obróbki obrazków większych niż 1024x768 nie wynika z właściwości skryptu, lecz z ustawień serwera:

1. Edytuj php.ini
2. Znajdź memory_limit (u mnie lokalnie: "memory_limit = 10M ; Maximum amount of memory a script may consume (128MB)")
3. Zwiększ do 50M

I będzie gitara guitar.gif
Go to the top of the page
+Quote Post
dr revuu
post 9.07.2011, 20:10:19
Post #58





Grupa: Zarejestrowani
Postów: 31
Pomógł: 1
Dołączył: 21.01.2010

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


Z góry przepraszam za odkop, ale skrypt (post 1) nadal wydaje się dobry, a mam z nim problem.

Otóż wrzucam go do NetBeans i w tych liniach wskazuje mi na błąd:

$move_x = ($move == \"x\") ? ($max_x-$new_x)/2 : 0;
$move_y = ($move == \"y\") ? ($max_y-$new_y)/2 : 0;


Od znaku # skrypt staje się szary (taki sam kolor mają u mnie komentarze, np. te po //). Po wrzuceniu na serwer klasy z tą funkcją, skrypt się zatrzymuje.

Jakieś sugestie?

Ten post edytował dr revuu 9.07.2011, 20:10:51
Go to the top of the page
+Quote Post

3 Stron V  < 1 2 3
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 Wersja Lo-Fi Aktualny czas: 19.04.2024 - 09:03