Zoomfunktion per GD 2

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Zoomfunktion per GD 2

    Hi all,

    Leute i wil ein Mapscript mit Zoomfunktion coden...
    jedoch fehlt mir bissl basiswissen dazu.
    Ich weiß nur das man die GD2 leb benötigt, was ja ehh bei php 5 dabei ist. Hat irgendwer von euch mit einer "php-zoomfunktion" erfahrung?
    -> kein java!

    Ich bin momentan soweit das mein script das bild in 50x50 teile automatisch sliced. *grübel *grübel ... ich weiß nich weiter *gg

    anregung, lösungen, nützliche fertige scripts ... bitte posten

    LG Sea

  • #2
    Bis hier ist noch kein PHP-Problem zu erkennen.

    was ist ein mapscript und wie stellst du dir die zoomfunktion vor? Du weißt, dass PHP auf dem Server ausgeführt wird?

    Kommentar


    • #3
      nur ne idee, habs selber noch nie gemacht:

      Benutze imagecopyresized um den zu zoomenden Bildausschnitt zu kopieren und zu vergrößern. Dadurch wird ein zoom effekt erreicht, ob das jedoch das ist was du suchst, weiß ich nicht, da die Auflösung bei hohen Zoomraten je nach Ausgangsbild sehr pixelig wird...

      sonst musst du dein Anliegen konkretisieren.

      Kommentar


      • #4
        google maps wird komplett ohne java dargestellt .... komisch ...
        imagecopyresized damit arbeite ich schon jedoch wie kann ich ohne java das so machen das der benutzer etwas von dem bild markiert und das dann als variable speichert, man brauch ja nur 2 Punkte vom benutzer... da wo er aufhört zu ziehen und dort wo er beginnt. Gibts da irgend ne Anweisung wie der benutze 1. überhaupt ziehen kann 2. mit den start und endpunkt im bild gibt ?

        LG Sea

        Kommentar


        • #5
          PHP ist serverseitig.

          Übrigens steckt hinter google Maps eine mege scripting. schau dich mal genauer um und guck dir mal die systemanforderungen an.

          Kommentar


          • #6
            Das dynamische "Ziehen" von zu vergrößernden Bereichen ist denke ich mal nur mit javascript zu lösen. Das Übergeben etc. ist dann kein Problem mehr. Hoffe mal du meintest mit java nicht auch javascript o.O

            Kommentar


            • #7
              ohne java und javascript ... richtig !
              lest ma da mb könnt ihr damit was anfangen ich nähmlich nich richtig ~~

              http://www.ohne-aktive-inhalte.de/co...rte/index.html

              Kommentar


              • #8
                einen dynamischen zoom bekommst du damit nicht hin, also der user kann nur vorgegebene zoomstufen und bereiche wählen, da php - immer noch - serverseitig ist. Wenn du das umsetzen willst nimm dir ein paar Tage Zeit und schau nach, was das Teil tut...wenn dann noch Fragen zu einzelnen Sachen sind kann dir sicherlich jemand weiterhelfen.

                Kommentar


                • #9
                  Hi,

                  Ich hab mal nen script geschrieben für " kleiner Dateien " , dh der zerlegt die nich in kachel sondern hat einer maindatei wo der dann ranzoomt.
                  Ich hab nur ein problem....
                  theoretisch wenn man das zoombild im rahmen 800x800 anzeigt, sollte man ja vom Mittelpunkt des kompletten bildes 400 nach links und nach oben gehen um den Anfangspunkt zu bekommen.
                  Schaut mal mein script an... irgendwie bleibt der beim Zoomen nich in der Mitte obwohl die mathematische Rechnung 100 % stimmt

                  PHP-Code:

                  <form  method="POST" action="test1.php" >
                  <table border="1" width="27%">
                      <tr>
                          <td colspan="2">Zoomcontrol</td>
                      </tr>
                      <tr>
                          <td width="12%"><input type="radio" value="200" name="zoom"></td>
                          <td width="80%">200%</td>
                      </tr>
                      <tr>
                          <td width="12%"><input type="radio" value="150" name="zoom"></td>
                          <td width="80%">150%</td>
                      </tr>
                      <tr>
                          <td width="12%"><input type="radio" value="130" name="zoom"></td>
                          <td width="80%">130%</td>
                      </tr>
                      <tr>
                          <td width="12%"><input type="radio" value="100" name="zoom"></td>
                          <td width="80%">100%</td>
                      </tr>
                      <tr>
                          <td width="12%"><input type="radio" value="80" name="zoom"></td>
                          <td width="80%">80%</td>
                      </tr>
                      <tr>
                          <td width="12%"><input type="radio" value="50" name="zoom"></td>
                          <td width="80%">50%</td>
                      </tr>
                      <tr>
                          <td width="12%"><input type="radio" value="40" name="zoom"></td>
                          <td width="80%">40%</td>
                      </tr>
                      <tr>
                          <td width="12%"><input type="radio" value="30" name="zoom"></td>
                          <td width="80%">30%</td>
                      </tr>
                      <tr>
                          <td width="12%"><input type="radio" value="20" name="zoom"></td>
                          <td width="80%">20%</td>
                      </tr>
                      <tr>
                          <td width="12%"><input type="radio" value="10" name="zoom"></td>
                          <td width="80%">10%</td>
                      </tr>
                      <tr>
                          <td width="92%" colspan="2">
                          <p align="center"><input type="submit" value="Absenden" ></td>
                      </tr>
                  </table>


                  <?php

                  if (empty($zoom)){$zoom=0;}
                  echo 
                  "zoom=" $zoom " <br> ";
                  $img='neues.jpg';
                  list(
                  $or_w$or_h$or_t) = getimagesize($img);
                  $or_image imagecreatefromjpeg($img); 
                  $rs_image imagecreatetruecolor(800800);




                  // berechnung zoom
                  $w_x=1+($zoom/100);
                  $rs_w800*$w_x;

                  $h_x=1+($zoom/100);
                  $rs_h800*$h_x;

                  //Bildausrichtung
                  $center_point_w=($rs_w/2);
                  echo 
                  "center_point_W: $center_point_w <br>" ;
                  $center_point_h=($rs_h/2);
                  echo 
                  "center_point_H: $center_point_h <br>" ;
                  $place_w=($center_point_h-400); 
                  // ($center_point_w-400)fur 800x600 optimiert !
                  $place_h=($center_point_h-400); 
                  // ($center_point_h-300)fur 800x600 optimiert !
                  echo " w_x=" $w_x "<br> rs_w=" 
                  $rs_w "<br> h_x= " $h_x 
                  "<br> rs_h= " $rs_h ."<br>";

                  imagecopyresampled($rs_image$or_image00$place_w
                  $place_h$rs_w$rs_h$or_w$or_h); 
                  //(resource dst_image, resource src_image, int dst_x, int dst_y, int 
                  src_xint src_yint dst_wint dst_hint src_wint src_h )
                  imagejpeg($rs_image"neutest.jpg"100);
                  ?>

                  <img src="neutest.jpg" >
                  Zuletzt geändert von Seagate; 24.11.2006, 13:12.

                  Kommentar


                  • #10
                    gd lib zoom zentrieren aber wie ?!

                    Hi all,

                    Ich hab mit Hilfe der GD lib ein Zoom script geschrieben. Jedoch hab ich ein Problem...
                    PHP-Code:
                    imagecopyresampled($rs_image$or_image00$place_w
                    $place_h$rs_w$rs_h$or_w$or_h); 
                    am anfang ist ja die auflösung 500x500, und mann will das komplette bild sehen dh,
                    $rs_w=500 und $rs_h=500 , place_w und place_h natürlich 0 da man das komplette bild sehen will!
                    Nur wenn ich jetzt herranzoom verändert sich der Zoompunkt und es verrutscht einfach

                    mein script:

                    PHP-Code:

                    <?php

                    if (empty($zoom)){$zoo m=0;}

                    $img='neues.jpg';
                    list(
                    $or_w$or_h$or_t) = getimagesize($img);
                    $or_image imagecreatefromjpeg($img); 
                    $rs_image imagecreatetruecolor(500500);




                    // berechnung zoom

                    $w_x=1+($zoom/100);
                    $rs_w500*$w_x;

                    $h_x=1+($zoom/100);
                    $rs_h500*$h_x;
                    $x=($zoom/100);

                    //Bildausrichtung
                    $center_point_w=($rs_w/2);
                    $center_point_h=($rs_h/2);
                    if (empty(
                    $place_h)) {
                    $place_w=($center_point_w-250); //  theoretisch müsste das 
                    stimmen jedoch es bleibt nich zentrieren ... KOMISCH -.- ideen?
                    $place_h=($center_point_h-250); 
                    }

                      


                    imagecopyresampled($rs_image$or_image00$place_w
                    $place_h$rs_w$rs_h$or_w$or_h); 
                    //(resource dst_image, resource src_image, int dst_x, int dst_y, int 
                    src_xint src_yint dst_wint dst_hint src_wint src_h )
                    imagejpeg($rs_image"neutest.jpg"100);
                    ?>
                    <table>
                    <tr>
                    <td><a href="test1.php?place_h=<?php echo 
                    $place_h;?>&place_w=<?php echo $place_w;?>&zoom=
                    <?php echo $zoom+50;?>">+</a></td>
                    <td><a href="test1.php?place_h=
                    <?php echo $place_h;?>&place_w=<?php echo $place_w;
                    //selbst hier bleibt es beim einfachen herranzoom 
                    //nicht bei dem punkt es verschiebt sich immer ein wenig.... 
                    ?>&zoom=<?php echo $zoom-50;?>">-</a></td>
                    </tr>
                    </table>
                    wäre super wenn jemand eine gute formel zum berechnen des
                    Centerpunktes für die versch. Stufen finden kann und auch bei
                    einfachen herranzoom.
                    Ich hab auch schon wertetabellen aufgeschrieben um ddie mitte zu
                    erfassen:

                    wenn rs_w und rs_h / place_w und place_h
                    500x500 - 0
                    550x550 - 80
                    600x600 - 165
                    700x700 - 280
                    800x800 - 375
                    900x900 - 445
                    1000x1000 - 500
                    2000x2000 - 750
                    4000x4000 - 875

                    -> sind alles ca. werter außer 500x500, 1000x1000 , 2000x2000,
                    4000x4000
                    -> komisch ... es wird deutlich das von 500 zu 1000 genau 500 dazu
                    kommen, von 1000 zu 2000 genau 250 dazu kommen, von 2000 zu
                    4000 genau 125

                    Help pls... brauch ne formel... weiß nich wie ich die genaueren
                    Zwischenwerte bestimmen kann...

                    LG Seagate
                    Zuletzt geändert von Seagate; 24.11.2006, 13:16.

                    Kommentar


                    • #11
                      Re: gd lib zoom zentrieren aber wie ?!

                      Regeln lesen, Code umbrechen.
                      http://www.php-resource.de/forum/sho...threadid=50454

                      Doppelpostings künftig unterlassen.
                      *zusammenführ*
                      I don't believe in rebirth. Actually, I never did in my whole lives.

                      Kommentar

                      Lädt...
                      X