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