Michael: Grafikanzeige

Hallo zusammen,

folgendes Problem: Ich habe zwei Frames -  ein Grafik-Index
(Tumbs) im ersten Frame der über ein Script in einem zweiten Frame das Bild wechselt! (damit ich nicht tausend HTML-Datein wechslen/handeln muß)

...
function FrameWechseln(nr)
   {
      parent.frames[3].document.anzeige.src=bilder[nr];
      parent.frames[3].document.anzeige.alt=bildtexte[nr];

}
...
<td> <br><center><a href="javascript:FrameWechseln(0)">
       <img src="_tn_day13_01_bcanyon.JPG" border="0" width="80" alt="day13_01_bcanyon.JPG" id="b0" name="b0"></a><p>
       <font size="-1"><b><font color="#FFFF00"></font>day13_01_bcanyon</b></font><br>
       <font size="-2">88 KB</font><br></center><br></td>
...

Das klappt so auch! Nur über langsame Leitungen wird solange das
alte Bild gezeigt, bis das neue Bild komplett geladen ist und dann
macht´s 'blopp' und das neue Bild kommt, aber das ist ja ziemlich nervig! Kann mir jemand sagen warum das Bild nicht schon während des Ladevorgangs 'langsam' aufgebaut wird?
Im Zielframe hatte ich erst die Grafik in einer Tabelle, aber jetzt sieht´s so aus (ohne Tabelle !)

...
<img src="day13_01_bcanyon.JPG" name=anzeige id=anzeige alt="Bryce Canyon (1)"><p>
...

Noch eine weitere Frage zum Thema:
Wie kann man Grafiken so speichern, dass der Ladevorgang über die
Verbesserung der Pixelanzahl vonstatten geht (Bild wird immer schärfer!)?

Schöne Grüße
Michael

  1. hoi,

    du kannst das zwar nicht insgesammt schneller machen, aber die ladezeit an eine andere stelle rücken, indem du im 2. doc (das, welches die bilder darstellen soll) mit dem handler 'onLoad' image-objekte anlegst, z.b. so:

    img3on = new Image(); img3on.src = "pics/pfeil_rechts.gif";
    img4on = new Image(); img4on.src = "pics/pfeil_rechts_1.gif";

    so werden die bilder gleich zum browser übertragen und wenn du wechseln willst, passiert das sofort.

    cu
    :o) oli

    1. hoi,

      du kannst das zwar nicht insgesammt schneller machen, aber die ladezeit an eine andere stelle rücken, indem du im 2. doc (das, welches die bilder darstellen soll) mit dem handler 'onLoad' image-objekte anlegst, z.b. so:

      das heißt doch, dass beim ersten (und einzigen Ladevorgang) des
      Anzeige-Frames alle Bilder komplett geladen werden!
      Das dauert doch ewig für ein paar Bilder mit um die 50 KB, oder ?
      Mir geht´s dabei auch eigentlich nicht um die Ladezeit, sondern um den Ladevorgang (bei mir wird das Bild erst gewechselt, wenn es komplett da ist und nicht nach und nach aufgebaut !)

      img3on = new Image(); img3on.src = "pics/pfeil_rechts.gif";
      img4on = new Image(); img4on.src = "pics/pfeil_rechts_1.gif";

      so werden die bilder gleich zum browser übertragen und wenn du wechseln willst, passiert das sofort.

      cu
      :o) oli

  2. hallo michael,
    kann dir nur bei der letzten frage antworten.

    Noch eine weitere Frage zum Thema:
    Wie kann man Grafiken so speichern, dass der Ladevorgang über die
    Verbesserung der Pixelanzahl vonstatten geht (Bild wird immer schärfer!)?

    das musst du direkt beim abspeichern deines bildes einstellen.
    jedes gute grafik programm beherrscht das.
    zb: corral
        picture publisher
        paint shop

    weis jetzt leider nicht mehr wie die technik heisst. ist aber so, das diese infos um das bild so aufzubauen beim speichern in den header der grafik eingesetzt wird.

    mfg
    sven

    1. hallo,

      weis jetzt leider nicht mehr wie die technik heisst. ist aber so, das diese infos um das bild so aufzubauen beim speichern in den header der grafik eingesetzt wird.

      interlaced
      siehe http://www.google.de/search?q=interlaced+grafikprogramm&hl=de&btnG=Google-Suche&meta=cr%3DcountryDE

      Gruß Markus

      1. hallo,

        weis jetzt leider nicht mehr wie die technik heisst. ist aber so, das diese infos um das bild so aufzubauen beim speichern in den header der grafik eingesetzt wird.

        interlaced
        siehe http://www.google.de/search?q=interlaced+grafikprogramm&hl=de&btnG=Google-Suche&meta=cr%3DcountryDE

        Hi, hab´ das mal g´schwind gelesen. Nur GIF ? Heisst das, dass es bei JPG definitv nicht geht ?

        Gruß Markus

        1. hi markus,
          so viel ich weis geht das nur bei kpeg jpg bildern.
          kann aber auch sein, das ich da im irrtum bin.

          mfg
          sven

        2. sorry
          geht auch bei gifs:

          Ferner gibt es beim GIF-Format die Option "interlaced" bzw. "non-interlaced". Stellen Sie, wenn Ihr Grafikprogramm die Möglichkeit dazu anbietet, "interlaced" ein. Dadurch kann der WWW-Browser die Grafik "schichtweise" am Bildschirm aufbauen (bei Netscape können Sie das bei größeren Grafiken sehr gut beobachten). Wenn die Grafike "non-interlaced" abgespeichert ist, muß der Browser erst die gesamte Grafikdatei einlesen, bevor er mit der Bildschirmanzeige der Grafik beginnen kann.

          Quelle:

          http://aktuell.de.selfhtml.org/archiv/doku/3.4/graftips.htm

          mfg
          sven

      2. hallo markus,
        danke.
        mir war der name entfallen.

    2. hallo michael,
      kann dir nur bei der letzten frage antworten.

      Noch eine weitere Frage zum Thema:
      Wie kann man Grafiken so speichern, dass der Ladevorgang über die
      Verbesserung der Pixelanzahl vonstatten geht (Bild wird immer schärfer!)?

      das musst du direkt beim abspeichern deines bildes einstellen.
      jedes gute grafik programm beherrscht das.
      zb: corral
          picture publisher
          paint shop

      weis jetzt leider nicht mehr wie die technik heisst. ist aber so, das diese infos um das bild so aufzubauen beim speichern in den header der grafik eingesetzt wird.

      Okay, hilft mir schon weiter. Ich hab´ zwar in mehreren Programmen gesucht (auch in denen!), aber jetzt kann ich mir sicher sein, dass es was gibt! Thanx

      mfg
      sven

  3. Hallo zusammen,

    Moin!

    Nochmal zusammenfassend zum Thema "Grafik beim Laden anzeigen lassen":

    Das GIF-Format erlaubt "interlaced". Dadurch wird erstmal nur jede achte (oder was weiß ich) Zeile gespeichert, nachfolgende Daten füllen die Zeilen dazwischen dann nach und nach aus (erst jede vierte, dann jede zweite, dann jede Zeile). Der Browser kann (wenn er denn dazu in der Lage ist) das GIF schon recht schnell komplett darstellen, und füllt dann nach und nach die Zeilen auf - so entsteht schneller der Grafikeindruck. Und meist ist so ein Bild auch noch ein paar Byte kleiner.

    Das JPG-Format läßt sich im "Progressive"-Modus abspeichern, was im Prinzip das gleiche bewirkt, nur etwas anders aussieht: Das Bild ändert sich von grober Auflösung zu feiner Auflösung. Zuerst siehts aus wie ganz übel kleinkomprimiert, dann wird's besser.

    Setzt man diese Techniken nicht ein, dann sollte der Grafikaufbau eigentlich zeilenweise von oben nach unten erfolgen, sofern der Browser überhaupt was anzeigt. Erscheinen die Bilder erst nach dem kompletten Laden, kann es auch am Browser bzw. dessen Einstellungen liegen.

    - Sven Rautenberg