frage zu Gallery tutorial

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • frage zu Gallery tutorial

    Hi,
    da ich ne Galleryphp coden möchte, habe ich mir für ein paar anregungen mal das Tutorial hier auf euren Seiten angeschaut....
    Nun habe ich ein paar fragen zu manchen Codezeilen.
    1. Frage:

    PHP Code:
    $neueBreite=100
    $neueHoehe=intval($hoehe*$neueBreite/$breite); 
    Die neue Breite beträgt immer 100px. Ich raff das jetzt net warum ich die Höhe des Ursprungsbildes mit 100 ($neueBreite) multiplizieren muss und dann durch die Ursprungsbreite teilen muss. Um wieviel wird das Bild zu einem Thumbnail verkleinert? Irgendwas hat das mit dem Verhältnis der Seiten zu tun. Es muss ja immer 4:3 rauskommen oder?


    2.Frage:
    Und dann habe ich in der Beschreibung noch folgendes gelesen:

    "Das Herzstück ist die Funktion "ImageCopyResized()". Damit wird das neue Bild erzeugt. Allerdings benötigt die Funktion nicht die Dateinamen des Orginalbildes bzw. der Zieldatei, sondern den Identifier dieser Dateien."

    Was ist ein Identifier und warum kann man nicht Dateien direkt über imagecopyresized bearbeiten und resizen?

    3. Frage:
    Warum muss (siehe Code oben) das Ergebnis von der Rechenoperation in ein Integer umgewandelt werden. Normalerweise wandelt doch PHP selbst die Vars in die benötigten Vartypen um?!


    Tschau und vielen Dank für eure Erklärungen!
    trekkie2003
    www.hsv-hockenheim.com
    www.carl-theodor-schule.de
    www.hockenheimring.de
    www.uni-heidelberg.de

  • #2
    zu 1.) Das ist ein gewöhnlicher Dreisatz. Die Breite wird festgelegt (fürs Layout) und die Höhe dementsprechend angepasst, damit man das Bild nicht verzerrt!

    zu 2.) a - Identifier sind "Handle". Man muss erst das Bild einem Handle zuweisen und kann ihn dann mit diesem Befehl bearbeiten
    b - Darum!

    zu 3.) http://de.php.net/intval


    Gruß,
    Chris

    Comment


    • #3
      intval

      Das habe ich auch schon nachgelesen...was ich nur wissen wollte ist der Grund warum man das nach Integer umwandelt. das man es umwandelt seh ich ja anhand dem code...


      Zum meiner Frage 2 mit dem Identifier: Irgendwas müssen sich doch die Entwickler dieser Sprache gedacht haben...

      Tschau und many thx harakiri
      www.hsv-hockenheim.com
      www.carl-theodor-schule.de
      www.hockenheimring.de
      www.uni-heidelberg.de

      Comment


      • #4
        Na die Lösung hättest auf der angegeben Seite gefunden .

        intval() wandelt u.a. auch Gleitkommazahlen um zu INTEGER Zahlen...

        PHP Code:
        echo intval(5,5); 
        gibt also "5" aus.

        Und warum man das benötigt?

        int imagecopyresized ( resource dst_im, resource src_im, [color=red]int[/color] dstX, [color=red]int[/color] dstY, [color=red]int[/color] srcX, [color=red]int[/color] srcY, [color=red]int[/color] dstW, [color=red]int[/color] dstH, [color=red]int[/color] srcW, [color=red]int[/color] srcH)



        Zur anderen Frage: muss ich mal rechergieren .

        €dit: Ich denke diese Identifier/Handles sind eben interne Pointer auf Dateien/Bilder womit PHP eben arbeitet. Erst bei der Ausgabe wird das Bild ja auf den Monitor/die Festplatte projeziert und bekommt seinen "richtigen" Namen... naja so erklär ich mir das zumindest ...

        Gruß,
        Christian
        Last edited by harakiri; 22-08-2004, 20:24.

        Comment


        • #5
          Ja das ist schon klar mit dem Integer...aber normalerweise macht das PHP doch automatisch. Das wurde ja auch immer so als vorteil von PHP gegenüber anderen Sprachen andgepriesen...
          Deshalb verstehe ich das nicht, da das normalerweise doch von PH selbst angepasst....d.h. automatisch in Vartyp Integer umgewandelt...

          tschau
          trekkie2003
          www.hsv-hockenheim.com
          www.carl-theodor-schule.de
          www.hockenheimring.de
          www.uni-heidelberg.de

          Comment


          • #6
            Was hattest du denn in Mathe?

            $hoehe*$neueBreite/$breite;

            Da kann logischerweise eine Dezimalzahl rauskommen, damit wäre der Wert kein integerwert mehr!

            Achja und zu deiner 1. Frage:
            Damit das Bild nicht gestaucht wird muss gelten:

            NeueHöhe/NeueBreite=AlteHöhe/AlteBreite

            (Relation muss gleich sein)

            Jetzt lös' das mal nach NeueHöhe auf!
            Last edited by em-!x; 22-08-2004, 21:46.

            Comment


            • #7
              Tutorialfragen gehören ins Tutorialforum *verschieb*

              Comment


              • #8
                Das ist mir auch klar das das kein INtegerwert ist. Nur wandelt PHP normalerweise vor der Rechenop die Var dann in den entspr. Variablentyp um.
                Übrigens habe grad Abi gemacht. Von daher gehe ich einfach mal davon aus das ich Mathe kann und auch umstellen

                Ausgangspunkt:
                NeueHöhe/NeueBreite=AlteHöhe/AlteBreite


                Ergebnis:

                NeueHöhe=AlteHöhe*NeueBreite/AlteBreite


                Also tschau bis denne
                trekkie2003
                www.hsv-hockenheim.com
                www.carl-theodor-schule.de
                www.hockenheimring.de
                www.uni-heidelberg.de

                Comment

                Working...
                X