Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Obrazki, nanoszenie, aktywny link...
Forum PHP.pl > Forum > PHP
progman
Witam, mam pewien problem, pobieram z bazy danych mapke objektu, rysuje na niej czytniki z pliku.png na określonych pozycjach x,y z bazy. Wszystko z wykorzystaniem GD. Teraz jak zrobić żeby te czytniki.png były aktywnymi lilnkami? Poniżej cały skrypt:

  1. <?php
  2. include ("inc_config.php");
  3.  include ("inc_baza.php");
  4.  include ("inc_get_post_vars.php");
  5.  
  6. if (myGET('table', '0'))
  7. {
  8. $img_table=myGET('table', '0');
  9. }
  10.  
  11. if (myGET('field', '0'))
  12. {
  13. $img_field=myGET('field', '0');
  14. }
  15.  
  16. if (myGET('id', '0'))
  17.  {
  18. $img_id=myGET('id', '0');
  19.  }
  20. else
  21.  {
  22. $img_id=0;
  23.  }
  24.  
  25. $sql = pg_query($conn, 'SELECT mapa FROM wizualizacja WHERE id='.$img_id);
  26.  
  27. $glowice = pg_query($conn, 'SELECT wg.pos_x, wg.pos_y FROM wizualizacja_glowice wg
  28. WHERE wg.id_wizualizacja='.$img_id);
  29.  
  30. $data = pg_unescape_bytea(pg_fetch_result($sql, 0, 'mapa'));
  31.  
  32. header('Content-Type: image/png');
  33.  
  34. $background = imagecreatefromstring($data);
  35. $insert = imagecreatefrompng("czytniki.png");
  36.  
  37. imagecolortransparent($insert,imagecolorexact($insert,255,0,255));
  38.  
  39. $insert_x = imagesx($insert);
  40. $insert_y = imagesy($insert);
  41.  
  42. $count=pg_num_rows($glowice);
  43.  
  44. function linki()
  45. {
  46. print '<MAP NAME="mapa">';
  47. print '<AREA SHAPE="rect" BORDER COORDS="2,31,31,2" HREF="link.php" TITLE="Czytnik" Target="_blank">';
  48. print '</MAP>';
  49. print '<IMG SRC="czytniki.png">';
  50. }
  51.  
  52. for ($x=0;$x<$count;$x++) {
  53. imagecopymerge($background,$insert,pg_fetch_result($glowice, $x, 'pos_x'),pg_fetch_result($glowice, $x, 'pos_y'),0,0,$insert_x,$insert_y,100);
  54. }
  55.  
  56. imagejpeg($background,"",100);
  57. ?>
Sh4dow
Najpierw wykonujesz
  1. <?php
  2. header('Content-Type: image/png');
  3. ?>

a pozniej chcesz dopisac do tego html ?
Moze byc tak wygenerowac html ktory bedzie posiadac <img src=" .... " /> wraz z mapą dla linku, gdzie adresem obrazka bedzie plik ze skryptem tworzacym obrazek ? Niepasuje mi to wogle ten kod co tam napisales. Rozdziel moze to jakos.
andrzejb
wystarczy ze na stornie zalozmy mapka.php?x,y zaladujesz twoj plik z obrazem mapy wywolujac twoj skrypt <img src="obrazek.php?x,y.. a do wyyrsowania aktywnego linku uzyjesz html, i mapowania obrazow jako linki pozdrawiam
progman
A mógłbyś mi jakoś pomóc z tym? W GD jestem strasznie cieniutki...

Będę Ci bardzo wdzięczny.
andrzejb
nie mam zupelnie czasu ale znalazlm ciekawy kod

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  2. <TITLE> Test </TITLE>
  3. <script LANGUAGE="JavaScript">
  4. <!--
  5. function wspolrzedne()
  6. {
  7. document.dodaj.px.value = event.x + document.body.scrollLeft;
  8. document.dodaj.py.value=event.y + document.body.scrollTop;
  9. document.punkt.style.left=event.x-2 + document.body.scrollLeft;
  10. document.images.punkt.style.top = event.y-2 + document.body.scrollTop;
  11. }
  12. //-->
  13. </HEAD>
  14.  
  15. <BODY topmargin="0" leftmargin="0">
  16. <table border="0">
  17. <tr>
  18. <td><img src="mapa.gif" onclick="wspolrzedne();" style="cursor: crosshair;">
  19. <img name="punkt" src="punkt.gif" style="cursor: crosshair; position: absolute; top: 0; left: 0; margin: 0; padding: 0;" border="0" width="5" height="5"></td>
  20. </tr>
  21. <tr>
  22. <td><form name="dodaj" method="post">
  23. <input readonly type="text" name="px" size="5"><input readonly type="text" name="py" size="5">
  24. <br> <input type="submit" value="dodaj">
  25. </form></td>
  26. </tr>
  27. <tr>
  28. <td>sposob ii <br/><p><a href="index.php">
  29. <img src="mapa.gif" ismap alt="target"></a></td>
  30. </tr>
  31.  
  32.  
  33.  
  34.  
  35. <?
  36. print "x".$_POST["px"]."y".$_POST["py"];
  37. ?>
  38. </BODY>
  39. </HTML>


wiekszosc spraw o ktore pytasz jest do zrealizowania za pomoca kodu html snitch.gif poszukaj dobrze w kursach o mapach linkow na obrazkach nigdy z tego niekorzystalem bo tego nielubie
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.