login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Probleem watermerk

Offline WebVisual - 19/10/2005 20:07 (laatste wijziging 19/10/2005 20:07)
Avatar van WebVisualLid Wat moet er veranderd worden? Tis nogal dringend ook want moet binne de 4 dage nog actief zijn.  :'( :(

Dit is het probleem:
http://goalball...mp;photo=0

En dit is de code:

  1. <h3 class="title">General Images</h3>
  2. <hr NOSHADE>
  3. <div align="center">
  4. <br><br><br>
  5. <table width="500" border="0" cellspacing="0" cellpadding="4" class="officials">
  6. <tr>
  7. <th class="tbl_hoofd"><div align="center">General Images </div></th></tr><tr>
  8. <td>
  9. <?
  10.  
  11. $files = "../fotoalbum/general";
  12.  
  13. $perpagina = 20;
  14.  
  15. $w = 100;
  16.  
  17. $h = 70;
  18.  
  19. /**
  20.   * Add a watermerk to an image
  21.   *
  22.   * @param string $image The path of the image
  23.   * @param string $watermerk The path of the watermerk image
  24.   * @param bool $transparency The transparancy level of the image
  25.   * @param int $wposition The amount of pixels the watermerk should be placed from the left of the image
  26.   * @param int $hposition The amount of pixels the watermerk should be placed from the top of the image
  27.   * @return bool
  28.   * @access public
  29.   */
  30.  
  31. function AddWatermark ($image, $watermerk, $transparency = 16, $wposition = 0, $hposition = 0)
  32. {
  33. /**
  34.   * Check if the image and the watermerk image exist
  35.   */
  36. if (!file_exists ($image))
  37. return trigger_error ('Could not add watermerk to image ' . $_IMG['IMGName'] . ', image file does not exist');
  38. if (!file_exists ($watermerk))
  39. return trigger_error ('Could not add watermerk to image ' . $_IMG['IMGName'] . ', watermerk file does not exist');
  40.  
  41. /**
  42.   * Store the information in an array for easy use
  43.   */
  44. $_IMG = array ();
  45. $_IMG['transparency'] = $transparency;
  46. $_IMG['image'] = $image;
  47. $_IMG['watermerk'] = $watermerk;
  48. $_IMG['wposition'] = $wposition;
  49. $_IMG['hposition'] = $hposition;
  50.  
  51. $_EXT = array ();
  52. $_EXT['image'] = end (explode ('.', strtolower ($_IMG['image'])));
  53. $_EXT['watermerk'] = end (explode ('.', strtolower ($_IMG['watermerk'])));
  54.  
  55. /**
  56.   * Make sure we use the correct things
  57.   */
  58. switch ($_EXT['image'])
  59. {
  60. case 'jpg':
  61. $_IMG['iinfo'] = array ('image/jpeg', 'imagecreatefromjpeg', 'imagejpeg');
  62. break;
  63. case 'gif':
  64. $_IMG['iinfo'] = array ('image/gif', 'imagecreatefromgif', 'imagegif');
  65. break;
  66. case 'png':
  67. $_IMG['iinfo'] = array ('image/png', 'imagecreatefrompng', 'imagepng');
  68. break;
  69. default:
  70. $_IMG['iinfo'] = array ('image/jpeg', 'imagecreatefromjpeg', 'imagejpeg');
  71. break;
  72. }
  73. switch ($_EXT['watermerk'])
  74. {
  75. case 'jpg':
  76. $_IMG['winfo'] = array ('image/jpeg', 'imagecreatefromjpeg', 'imagejpeg');
  77. break;
  78. case 'gif':
  79. $_IMG['winfo'] = array ('image/gif', 'imagecreatefromgif', 'imagegif');
  80. break;
  81. case 'png':
  82. $_IMG['winfo'] = array ('image/png', 'imagecreatefrompng', 'imagepng');
  83. break;
  84. default:
  85. $_IMG['winfo'] = array ('image/jpeg', 'imagecreatefromjpeg', 'imagejpeg');
  86. break;
  87. }
  88.  
  89. /**
  90.   * Create the images
  91.   */
  92. $_IMG['image_mark'] = $_IMG['winfo'][1] ($_IMG['watermerk']);
  93. $_IMG['image_image'] = $_IMG['iinfo'][1] ($_IMG['image']);
  94.  
  95. /**
  96.   * Set the correct widht/height etc...
  97.   */
  98. $_IMG['image_imagew'] = imagesx ($_IMG['image_image']);
  99. $_IMG['image_imageh'] = imagesy ($_IMG['image_image']);
  100. $_IMG['image_markw'] = imagesx ($_IMG['image_mark']);
  101. $_IMG['image_markh'] = imagesy ($_IMG['image_mark']);
  102.  
  103. /**
  104.   * Make sure we use the correct position of the watermerk
  105.   */
  106. if ($_IMG['hposition'] == 0)
  107. $_IMG['hposition'] = ($_IMG['image_imageh'] - $_IMG['image_markh']);
  108.  
  109. if ($_IMG['wposition'] == 0)
  110. $_IMG['wposition'] = 5;
  111.  
  112. /**
  113.   * Create the watermerk
  114.   */
  115. imagecopymerge ($_IMG['image_image'], $_IMG['image_mark'], $_IMG['wposition'], $_IMG['hposition'], 0, 0, $_IMG['image_markw'], $_IMG['image_markh'], $_IMG['transparency']);
  116.  
  117. /**
  118.   * Set the correct content header
  119.   */
  120. header ('Content-Type: ' . $_IMG['iinfo'][0]);
  121.  
  122. /**
  123.   * Create the image
  124.   */
  125. $_IMG['iinfo'][2] ($_IMG['image_image'], '', 100);
  126.  
  127. /**
  128.   * Destroy the image
  129.   */
  130. imagedestroy ($_IMG['image_image']);
  131.  
  132. /**
  133.   * Return true
  134.   */
  135. return true;
  136. }
  137.  
  138. //Hieronder niets wijzigen!
  139. ?>
  140. <style>
  141. img.foto
  142. {
  143. border: 1px solid black;
  144. }
  145. </style>
  146. <?
  147. echo "<center>";
  148.  
  149. $dir = opendir($files);
  150. while ($open = readdir($dir))
  151. {
  152. if (($open != "..") AND ($open != "."))
  153. {
  154. $point1 = explode('.', $open);
  155. $point2 = count($point1);
  156. $point = strtoupper($point1[$point2-1]);
  157.  
  158. if (($point == "JPG") OR ($point == "JPEG") OR ($point == "GIF"))
  159. {
  160. $photos[] = "$open";
  161. }
  162. }
  163. }
  164.  
  165. $aantal = count($photos);
  166.  
  167. if($aantal == 0)
  168. {
  169. echo "Er zijn geen foto's gevonden!";
  170. }
  171. else
  172. {
  173. if (!isset($photo))
  174. {
  175. if (!isset($p))
  176. {
  177. $p = 1;
  178. }
  179.  
  180. $paginas = ceil(($aantal / $perpagina));
  181.  
  182. $show[max] = ($p * $perpagina);
  183. $show[min] = $show[max] - $perpagina;
  184.  
  185. if ($show[max] > $aantal)
  186. {
  187. $show[max] = $aantal;
  188. }
  189.  
  190. for ($c = $show[min]; $c < $show[max]; $c++)
  191. {
  192. echo "<a href=\"?pagina=general&photo=$c\" name=\"$c\"><img class=\"foto\" src=\"".$files."/".$photos[$c]."\" height=\"$h\" width=\"$w\"></a> ";
  193. }
  194.  
  195. echo "<br><br>| ";
  196.  
  197. for ($b = 1; $b < ($paginas+1); $b++)
  198. {
  199. if ($p == $b)
  200. {
  201. echo "<b>$b</b> | ";
  202. }
  203. else
  204. {
  205. echo "<a href=\"?pagina=general&p=$b\">$b</a> | ";
  206. }
  207. }
  208.  
  209. echo "<br>Totaal $aantal foto's!";
  210. }
  211. else
  212. {
  213. if (!empty($photos[$photo]))
  214. {
  215. $p = ceil((($photo+1) / $perpagina));
  216.  
  217. $nav = "| <a href=\"?pagina=general&p=$p#$photo\">Terug</a>";
  218.  
  219. if ($photo != 0)
  220. {
  221. $nav .= " | <a href=\"?pagina=general&photo=".($photo-1)."\">Vorige</a>";
  222. }
  223. if (($photo+1) != $aantal)
  224. {
  225. $nav .= " | <a href=\"?pagina=general&photo=".($photo+1)."\">Volgende</a>";
  226. }
  227.  
  228. $nav .= " |";
  229.  
  230. echo "<img class=\"foto\" src=\"".AddWatermark ($files."/".$photos[$photo], "../fotoalbum/watermerk.png")."\"><br><br>$nav";
  231.  
  232. }
  233. else
  234. {
  235. echo "Deze foto is niet gevonden!";
  236. }
  237. }
  238. }
  239.  
  240. ?>
  241. </tr><tr><th class="tbl_voet">(images Andre De Paepe)</th></tr></table>
  242. </div>

9 antwoorden

Gesponsorde links
Offline Rens - 19/10/2005 20:09
Avatar van Rens Gouden medaille

Crew algemeen
Citaat:
Warning: Cannot modify header information - headers already sent by (output started at /opt/www/schoeterst3/web/goalball.webvisual.be/fotoalbum/watermerk.php:9) in /opt/www/schoeterst3/web/goalball.webvisual.be/fotoalbum/watermerk.php on line 10


http://www.site...ngen#err_1

Volgende keer wel even naar je fout kijken en beetje zoeken...
Offline Thomas - 19/10/2005 22:54
Avatar van Thomas Moderator Het moet binnen 4 dagen af zijn... zozo... Krijg je er soms voor betaald? 
Offline ikkedikke - 19/10/2005 23:25
Avatar van ikkedikke PHP expert hint: plaatjes in een ander bestand dan je HTML..
Offline WebVisual - 20/10/2005 00:35
Avatar van WebVisual Lid
Citaat:
Het moet binnen 4 dagen af zijn... zozo... Krijg je er soms voor betaald?


Ja ik krijg een kleine vergoeding. Ik heb de site op mijn hosting staan. Heb de domeinnaam zelf geregelt en dan de site gemaakt. Ik update tijdens de competitie ook binnen de 24 uur.

Nu ik kan niet echt goed scripten en daarom duikt dit probleem nu op tijdens die competitie. Als jullie problemen hebben met het feit dat ik iets krijg dan begrijp ik het maar kan iemand ff mijn geposte script aanpassen en opnieuw posten.

Alvast bedankt
Offline RdR - 20/10/2005 01:01
Avatar van RdR PHP interesse Of je leest ff wat Rensjuh heeft gepost, daar staat in link in en daar staat voldoende of je maakt gewoon je script kloppend dat je geen ob_start nodig hebt
Offline XenoX - 20/10/2005 01:43
Avatar van XenoX Gouden medailleGouden medaille

PHP expert
Je moet de plaatjes veranderen in een ander bestand, nu zit de HTML ook bij je plaatje en geeft ie natuurlijk een error.
Offline WebVisual - 20/10/2005 15:50
Avatar van WebVisual Lid Pff bestaat er geen sofware waar ik dit even snel mee kan invoegen? Zo geraak ik er niet 
Offline zwobbel - 22/10/2005 13:41 (laatste wijziging 22/10/2005 13:42)
Avatar van zwobbel PHP gevorderde Maak een bestand aan genaamd watermerk.php
En plaats volgende code daar in:
  1. <?
  2. //--- bekijk of var 'image' wel is meegegeven in URL
  3. if ($_GET['image'])
  4. {
  5. //--- send right header
  6. header('content-type: image/jpeg');
  7.  
  8. //--- zet het path
  9. $path = "screenshots/fotos/";
  10.  
  11. //--- zet path naar watermerk (.png transparant!)
  12. $path_watermerk = "screenshots/fotos/watermerk.png";
  13.  
  14. //--- watermark
  15. $watermerk = imagecreatefrompng($path_watermerk);
  16. $watermerk_width = imagesx($watermerk);
  17. $watermerk_height = imagesy($watermerk);
  18.  
  19. //--- image
  20. $image = imagecreatefromjpeg($path . $_GET['image']);
  21. $size = getimagesize($path . $_GET['image']);
  22. $xas = $size[0] - $watermerk_width - 5;
  23. $yas = 5;
  24.  
  25. //--- merge watermark + image
  26. imagecopymerge($image, $watermerk, $xas, $yas, 0, 0, $watermerk_width, $watermerk_height, 100);
  27.  
  28. //--- print image
  29. imagejpeg($image);
  30.  
  31. //--- destroy image + watermark
  32. imagedestroy($image);
  33. imagedestroy($watermerk);
  34. }
  35. else
  36. echo "Geen naam meegegeven in URL.";
  37. ?>


Dan op de plaats waar je de afbeelding wilt weergeven
plaats ge gewoon
  1. <img src="watermerk.php?image=afbeelding_naam.jpg" alt ="">
Offline Michiel_G - 23/10/2005 02:30
Avatar van Michiel_G Nieuw lid Heb het eens geprobeerd zwobbel en het werkt wel, maar de transparantie valt weg en wordt vervangen door een witte achtergrond.

Enig idee?
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.256s