Bildgröße an HTML übergeben

  • Hallo,

    ich habe mir ein Slideshow-Script runtergeladen. Jetzt möchte ich das so verändern, dass zufallsgesteuert aus einer Auswahl von 24 Ordnern mit je 8 Bildern ein Ordner ermittelt und dessen 8 Bilder angezeigt werden. Die Zufallsfunktion habe ich hingekriegt.

    Das Problem ist jetzt aber, dass es 2 verschiedene Ordner gibt. Einmal Ordner mit Bildern im Format 256x341 und einmal Ordner mit Bildern im Format 341x256. Für jedes Format gibt es auch noch ein extra Startbild.

    Jetzt habe ich versucht, ein zweites Script einzubinden, dass die Bildbreite und Bildhöhe ermittelt und die entsprechenden Werte dem HTML-Befehl <img> übergibt.

    Ich habe versucht mir die JS-Grundbegriffe mittels SELFHTML anzulesen, aber irgendwie haut es nicht so hin, wie ich will. Das Bild wird nicht angezeigt

    Könnt ihr euch das bitte mal angucken? Ich wäre euch sehr dankbar.

    HTML-Code:

    Code
    [img]startbild[/img]
    
    
    <input value=" |&lt; " onclick="aktnr=1;bild(0);" type="button"> <input value=" &lt; " onclick="bild(-1)" type="button"> <input value="Play" onclick="halt=0;show()" type="button">
    <input value="Stop" onclick="halt=1" type="button"><input value=" &gt; " onclick="bild(1)" type="button"><input value=" &gt;| " onclick="aktnr=maxnr;bild(0);" type="button">
  • also zwei dinge solltest du beachten...
    du kannst mit javascript keine ordner auslesen und du kannst mit javascript keine abmessungen von bildern auslesen, bevor sie nicht in eine html-datei eingebettet wurden...
    du müsstest mit nem array arbeiten, da kannste dann alle bild-src´s als sammlung anbieten und per zufalls-zahl dann aus dem array auslesen.
    für die verschiedenen bildgrössen rate ich zu ner switch-anweisung in der du dann den file-name oder eben die arraynummer auslist und entsprechend dann die grösse festlegst.

  • Also das Skript hat ja soweit funktioniert, dass Javascript eine Zufallszahl ermittelt, dann den Pfad zusammenbastelt und an HTML weiterleitet. Wenn es nur eine Bildgröße gäbe, hätte ich kein Problem.

    Und hier habe ich den Tipp gefunden, wie man die Bildgröße mit JS ermittelt:

    http://www.traum-projekt.com/forum/101-java…-ermitteln.html

    Jetzt habe ich halt versucht, die beiden Skripte miteinander zu verbinden. Sollte das wirklich nicht möglich sein?

  • also selbst bei deinem tip wird die grösse des bildes unmittelbar vor der anzeige ermittelt, bzw während der anzeige.
    um jetzt beide scripte miteinander zu verbinden bedarf es etwas aufwand

    du hast in der funktion doit() letztlich die src von deinem newImage
    und in der funktion getHeightWidth( newImage ) wird dann die anzeige durchgeführt.

    also musst du jetzt gucken, dass du ne funktion baust, die dann eine zufallszahl ermittelt, dieser wert wird dann am besten mit return ausgegeben, so kannst du diese funktion wie ne variable einbauen.
    die letztendliche darstellung würd ich weiterhin getHeightWidth( newImage ) überlassen denn dann kannst du dort auch dementsprechend die werte weiterverarbeiten.
    evtl diese werte global definieren, dann können andere funktionen sie auch benutzen.

    Zitat

    Das Problem ist jetzt aber, dass es 2 verschiedene Ordner gibt. Einmal Ordner mit Bildern im Format 256x341 und einmal Ordner mit Bildern im Format 341x256. Für jedes Format gibt es auch noch ein extra Startbild.

    und wenn du nur zwei formate benutzt, die auch noch in verschiedenen ordnern ligen, dann kannst du anhand der variable die den ordner identifiziert auch nen entsprechenden stylesetzen, sogar noch bevor das bild überhaupt ausgesucht wird.
    on daher würd ich gar nicht versuchn die grösse eines jeden bildes abzufangen.
    das macht nur dann sinn, wenn du wirklich probleme bekämest, weil die pix alle verschiedne auflösungen haben...

  • Zitat von synaptic

    also musst du jetzt gucken, dass du ne funktion baust, die dann eine zufallszahl ermittelt, dieser wert wird dann am besten mit return ausgegeben, so kannst du diese funktion wie ne variable einbauen.

    Ich werde mich wohl weiter mit JS beschäftigen müssen. Das ist mir noch ein bißchen zu hoch :)


    Zitat

    und wenn du nur zwei formate benutzt, die auch noch in verschiedenen ordnern ligen, dann kannst du anhand der variable die den ordner identifiziert auch nen entsprechenden stylesetzen, sogar noch bevor das bild überhaupt ausgesucht wird.
    on daher würd ich gar nicht versuchn die grösse eines jeden bildes abzufangen.
    das macht nur dann sinn, wenn du wirklich probleme bekämest, weil die pix alle verschiedne auflösungen haben...

    Tja, du hast den Teufel an die Wand gemalt Zusätzlich zu dem obigen Beispiel sind mir jetzt noch andere Fotos eingefallen, die ich auch gerne zufällig anzeigen würde. Und die sind alle verschieden in ihrer Größe. 8)

  • so cujo ich denke mal dein vorhaben ist mit dem folgenden code gelöst ;)

    bei fragen einfach fragen und wenn du änderungen haben willst die du selber nicht durchführen kannst steh ich natürlich gerne zur vefügung!!!

    das ganze als link haste dann hier:
    http://home.arcor.de/synaptic/hilfe…show_array.html