Diese Anzeige ist nur für
Nicht-Mitglieder sichtbar!

Jetzt kostenlos registrieren

Flash Katalog größer darstellen

Fragen zum Thema Flash können hier gestellt werden

Moderatoren: Basti, Ulli H.

Flash Katalog größer darstellen

Beitragvon gizze am 21.07.2010, 12:33

Hi Leute!

Also habe mal eine Frage: Ich habe einen Flash Katalog erstellt und jetzt ist das Problem, wenn ich es mir anschaue in der Vorschau, dass man die Schrift nicht gut lesen kann. So nun stelle ich mir die Frage wie ich das Problem lösen soll... vielleicht mit einer Lupe (die man dann so über das Bild fahren kann und sie alles größer darstellt) oder mit Prozenten (also wo man einstellen kann 200% ; 300%; usw...) ? Was von den beiden ist einfacher zu lösen in Flash und wie wird das gemacht (bin ja Anfänger )
Also bitte helft mir :)

Danke gizze
gizze
Mitglied
 
Beiträge: 1
Registriert: 21.07.2010, 12:31
Diese Anzeige ist nur für
Nicht-Mitglieder sichtbar!
 
Jetzt kostenlos registrieren

Re: Flash Katalog größer darstellen

Beitragvon Ulli H. am 21.07.2010, 15:46

Meinst du mit Flashkatalog sowas?

Wenn Ja dann so:

Du lädst in dein Katalog von PDF aus in swf generierte Seiten in deinen Katalog für die Normale Ansicht(also zum blättern). Beim vergrößern verlinkst du einfach via getURL auf die entsprechende PDF Seite.
Bei oben genannten Beispiel kommen die PHP Klasse FPDF und die batch Datei pdf2swf von SWFTOOLS zum tragen.

Wenn du es allerings stylisch haben möchtest (Mit richtiger Zoomfunktion), solltest du hochauflösende JPGS verwenden die du in der Blätteransicht runterskalierst und mit forceSmoothing=true; dennoch schärfst.

!!Aber Vorsicht!!

Bei Variante 2 muss jedes der JPGS erst mal geladen werden. Bei Hochauflösenden also mal so um die 200KB per Bild. Bei einem Katalog mit 100 Seiten, benötigt das Teil natürlcih Zeit bis der User was sieht.

Variante 3 wäre dann zum Blättern kleine JPGS zu nehmen und erst beim Zoom das große hinzuzuladen.


Welche Variante soll es denn sein?

Zoom der dritten Variante geht es zB so.
Code einfach in das erste Schlüsselbild eines neuen Films kopieren und dann via F12 im Browser testen. Könnte bei normalem "Film testen" Probleme geben mit der Sandbox
Code: Alles auswählen
//Pfad zum zu zoomenden Bild
path='http://ush-media.de/thewindow.jpg';
//Containner für kleines Bild generieren
createEmptyMovieClip("small",0);
//Containner für großes Bild generieren
createEmptyMovieClip("big",1);
//Lupe generieren (Damit die Lupe Mittig zur Maus sitzt, wird noch ein Übermc generiert
createEmptyMovieClip("lupe",3);
lupe.createEmptyMovieClip("glas",0);
lupe.glas.beginFill(0xFF0000,100);

    lupe.glas.moveTo(100, 200);
    lupe.glas.curveTo(100,300,200,300);
    lupe.glas.curveTo(300,300,300,200);
    lupe.glas.curveTo(300,100,200,100);
    lupe.glas.curveTo(100,100,100,200);
    lupe.glas.endFill();
//Lupenglass auf Mittelpunkt setzten, also - Halbe Weite und - halbe Höhe
lupe.glas._x=-lupe.glas._width;
lupe.glas._y=-lupe.glas._height;

//Laden des Bildes in den Container für das kleine Bild
//Maximale Weite angeben (In meinem Beispiel die Bühnenbreite)
maxw=Stage.width;
//Maximale Höhe angeben (In meinem Beispiel die Bühnenbreite)
maxh=Stage.height;

small.loadMovie(path);
//Überprüfen ob das kleine Bild geladen wurde
_root.onEnterFrame=function(){
   if(small.getBytesLoaded()==small.getBytesTotal() && small._width>10){
      delete _root.onEnterFrame;
      /*Bildgröße ermitteln und prüfen ob das Bild gößer als maxw oder maxh ist und dann entsprechend skalieren*/
      if(small._width>maxw || small._height>maxh){
         //Ja Bild ist größer. Alos ermitteln nach welchem Wert skaliert werden soll. Sprich: Ist die Differenz zwischen Bildhöhe und Max Höhe größer als die der Bildbreite und Maxbreite
         //Prozentualer Skalierungswert der Breite
         scw=100/small._width*maxw;
         //Prozentualer Skalierungswert der Höhe
         sch=100/small._height*maxh;
         //Der kleinere Wert bestimmt die Skalierung
         if(scw<sch){sc=scw;}else{sc=sch;}
         //Und skalieren des Bildes
         small._xscale=sc;
         small._yscale=sc;
         //Schärfe die durch das skalieren verloren gegangen ist durch Smoothing ersetzen
         small.forceSmoothing=true;
         
         
         //Jetzt wird das große Bild geladen
         big.loadMovie(path);
         //Überprüfen obs geladen ist
         _root.onEnterFrame=function(){
            if(big.getBytesLoaded()==big.getBytesTotal() && big._width>10){
               delete _root.onEnterFrame;
               //Großes Bild mit der Lupe maskieren
               big.setMask(lupe);
               //Lupe zum Zoomen bewegen
               lupe.startDrag(true);
               //Großes Bilder der Lupenbewegung entsprechend mitbewegen wegen der Realistik
               //Generell haben beide Bilder die selbe X und Y Position, nur ist eben das große größer und sollte von daher gegen die Mausbewegeung laufen
               _root.onMouseMove=function(){
               przw=Math.round(100/maxw*_root._xmouse);
               przh=Math.round(100/maxh*_root._ymouse);
               divw=big._width-small._width;
               divh=big._height-small._height;
               big._x=-(divw/100*przw);
               big._y=-(divh/100*przh);
               }
               }
            }
Ich möchte wie mein Opa im Schlaf sterben und nicht heulend und schreiend wie sein Beifahrer.

Mentalisten sprechen Rabisch und sprengen den Geist
Fundamentalisten sprechen Arabisch und sprengen sich selbst

Von O. Kalkofe über die Urin Kellner Show
Benutzeravatar
Ulli H.
Moderator
 
Beiträge: 1054
Registriert: 11.04.2007, 21:52
Wohnort: Ludwigsburg


Zurück zu Flash

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast