Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> "Nadrukowanie" "wzorku" na obrazek, po raz ostatni o PHP i GD :/
Najki
post
Post #1





Grupa: Zarejestrowani
Postów: 190
Pomógł: 0
Dołączył: 12.02.2004
Skąd: Poznań

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


Mam obrazek 80x80 pikseli. Chciałbym, aby php, tuż po wygenerowaniu go (to możemy pominąć), zapisał na nim kilka rzeczy i dopiero wtedy zachował go na dysku.

Dokładniej to chcę, aby na obrazek 80x80 został naniesiony taki wzorek, lub taki obrazek, jak poniżej (jeden z dwóch):

(IMG:http://cs.idysk.com/abc/1.gif)

(IMG:http://cs.idysk.com/abc/2.gif)

Proszę o pomoc w wykonaniu takiego skryptu.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Najki
post
Post #2





Grupa: Zarejestrowani
Postów: 190
Pomógł: 0
Dołączył: 12.02.2004
Skąd: Poznań

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


No to OK. To teraz mam coś takiego:
  1. <?php
  2. function img_resize($img_path,$dest_path,$max_width,$max_height)
  3. {
  4. if(file_exists($img_path)){
  5. $img_size = GetImageSize($img_path);
  6. $img_width = $img_size[0];
  7. $img_height = $img_size[1];
  8.  
  9. $new_width = $max_width;#
  10. $new_height = $max_height;#
  11.  
  12. $zrd = ImageCreateFromJpeg($img_path);
  13. $prz = ImageCreateTrueColor($new_width,$new_height);
  14.  
  15. ImageCopyResized($prz,$zrd,0,0,0,0,$new_width,$new_height,$img_width,$img_height);
  16.  
  17. ImageJpeg($prz, $dest_path, 80);
  18. ImageDestroy($zrd);
  19. ImageDestroy($prz);
  20.  
  21. ####
  22. $background = imagecreatefromjpeg($dest_path);
  23. $insert = imagecreatefrompng(&#092;"bg.png\");
  24.  
  25. imagecolortransparent($insert,imagecolorexact($insert,0,255,30));
  26.  
  27. $insert_x = imagesx($insert);
  28. $insert_y = imagesy($insert);
  29.  
  30. imagecopymerge($background,$insert,0,0,0,0,$insert_x,$insert_y,100);
  31. imagejpeg($background,&#092;"\",100);
  32. ####
  33. }
  34. }
  35.  
  36. function img_big($img_path,$dest_path) {
  37. if(file_exists($img_path)){
  38. $img_size = GetImageSize($img_path);
  39. $img_width = $img_size[0];
  40. $img_height = $img_size[1];
  41. $new_width = $max_width;
  42. $new_height = $max_height;
  43. $zrd = ImageCreateFromJpeg($img_path);
  44. $prz = ImageCreateTrueColor($img_width,$img_height);
  45.  
  46. ImageCopyResized($prz,$zrd,0,0,0,0,$img_width,$img_height,$img_width,$img_height);
  47.  
  48. ImageJpeg($prz, $dest_path, 80);
  49. ImageDestroy($zrd);
  50. ImageDestroy($prz);
  51. }
  52. }
  53.  
  54.  
  55. ##################
  56.  
  57. $file_path = $_FILES['file']['tmp_name'];
  58. $file_name = $_FILES['file']['name'];
  59. $file_size = $_FILES['file']['size'];
  60. $file_type = $_FILES['file']['type'];
  61. $file_error = $_FILES['file']['error'];
  62.  
  63. $error_msg=&#092;" \";
  64. if($file_error>0){
  65. switch($file_error)
  66. {
  67. case 1: $error_msg.=&#092;"- Za duży plik.<br>\";
  68. case 2: $error_msg.=&#092;"- Za duży plik.<br>\";
  69. case 3: $error_msg.=&#092;"- Plik niedoszedł w całości (spróbuj ponownie).<br>\";
  70. case 4: $error_msg.=&#092;"- Nie wysłałeś żadnego pliku.<br>\";
  71. }
  72. }else{
  73. if(strlen($file_name)>3){
  74. if($file_size>10){
  75. if($file_type==&#092;"image/pjpeg\" || $file_type==\"image/jpeg\"){
  76. if(is_uploaded_file($file_path)){
  77. $foto_id = '1';
  78.  
  79. $dest_path = &#092;"./upload/\". $foto_id . \".jpg\";
  80. $resized = img_big($file_path,$dest_path);
  81.  
  82. $dest_path = &#092;"upload/mini/\". $foto_id . \".jpg\";
  83. $resized = img_resize($file_path,$dest_path,80,80);
  84. }else{
  85. $error_msg.=&#092;"- Plik niezostał załadowany.<br>\";
  86. }
  87. }else{
  88. $error_msg.=&#092;"- Zły typ pliku (tylko JPEGi).<br>\";
  89. }
  90. }else{
  91. $error_msg.=&#092;"- Niewysłałeś żadnego pliku.<br>\";
  92. }
  93. }else{
  94. $error_msg.=&#092;"- Niewysłałeś żadnego pliku.<br>\";
  95. }
  96. }
  97. if(strlen($error_msg)>5){
  98. $msg = &#092;"<span class=gold_s>Wystąpiły błędy:</span><br>\" . $error_msg;
  99. }else{
  100. $msg = &#092;"Co by niebyło, Fotka dodana.\";
  101. }
  102. echo $msg;
  103.  
  104. ?>


Problem w tym, że to mi na stronie wyświetla pełno "krzaczków", a obrazka nie nakłada na miniaturkę.
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 11.10.2025 - 22:27