Zurück   Flashforum > Flash > Flash Fortgeschritten > Flash MX

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 08-06-2005, 13:29   #1 (permalink)
Neuer User
 
Registriert seit: Sep 2001
Beiträge: 8
Full Browser Flash - Bild auf 100% skalieren ohne Verzerrungen

hallo

ich möchte für mein flash-projekt 100% des browser fensters nutzen.
der flash-film (850px * 550px) wird im browser auf 100% skaliert.
alle elemente (menue, textboxen, etc.) bekommen eine feste größe und einen festen ort zugewiesen.
nur das hintergungbild (foto) soll mitskaliert werden, möglichst ohne Verzerrung.
ich bin noch nicht so ganz dahintergestiegen, wie ich das richtig umsetze...
wie muß ich das bild skalieren, damit es nicht verzerrt wird ??
in welcher auflösung / größe muss das bild in der flash-datei eingebunden sein ??

stehe gerade etwas auf der leitung...
kann mir jemand vielleicht helfen?!?
vielen dank schonmal!!!

viele grüße,
peter

CODE:

Stage.align = "LT";
Stage.scaleMode = "noScale";
stageListener = new Object();
stageListener.onResize = function() {
expandImage();
};
Stage.addListener(stageListener);
expandImage = function() {
myClip._width = Stage.width;
myClip._height = Stage.height;
};
dexter ist offline   Mit Zitat antworten
Alt 08-06-2005, 13:34   #2 (permalink)
Neuer User
 
Registriert seit: Nov 2002
Beiträge: 45
datt jeht meiner meinung nach nicht.
insofern du ein jpg, gif oder png verwendest, wird das bild beim grösser als das original skalieren immer aufgepixelt.
ist ja nun mal ein pixelbild und kein vektorbild. so weit ich weiss kann flash pixelbilder nicht interpolieren...
wenn du also ein hintergrundbild haben willst, dass sich immer bildschrimfüllend mitskalieren soll, musst du einen vektorhintergrund verwenden...

alternativ könntest du ein riesiges pixelbild, das auf jedenn fall grösser als jeder bildschirm ist in den hintergrund legen, eine maske drüber setzen, die bildschirmfüllend ist und diese maske dann mitskalieren lassen, sodass vom hintergrundbild jeweils bildschirmfüllend viel gezeigt wird...

gruss esteban
esteban ist offline   Mit Zitat antworten
Alt 08-06-2005, 13:42   #3 (permalink)
Neuer User
 
Registriert seit: Sep 2001
Beiträge: 8
mhhh....

qualitätsverlust beim bild wäre in einem gewissen rahmen noch zu verschmerzen. hauptsache es wir gleichmäßig skaliert und nicht verzogen - das ist das hauptproblem. das soll so funktionieren wie bei der hi-res. net website --> www.hi-res.net.
da liegt immer ein foto im hintergrund.
wie krieg ich das hin - muss ich das bild in einer bestimmten größe einbinden, damit es richtig skaliert wird ? ich habe keine ahnung...

vielen dank schonmal für deine hilfe!!!

gruss
peter
dexter ist offline   Mit Zitat antworten
Alt 08-06-2005, 14:05   #4 (permalink)
Neuer User
 
Registriert seit: Sep 2001
Beiträge: 8
oder wie hier : http://www.kunsthausgraz.at/fla/index.htm
dexter ist offline   Mit Zitat antworten
Alt 08-06-2005, 14:11   #5 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Hi!
Der Code, den du gepostet hast, muss gehen. Hat denn der MC mit dem Bild auch den Instanznamen "myClip"?
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 08-06-2005, 14:21   #6 (permalink)
Neuer User
 
Registriert seit: Sep 2001
Beiträge: 8
yep - der heißt so...

leider klappt es nicht wirklich..

--> http://home.arcor.de/dexter01/dummy/dummy.html


dexter ist offline   Mit Zitat antworten
Alt 08-06-2005, 15:31   #7 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Hallo nochmal...
Hab's mal ausprobiert (mit deinem Code). Bei mir klappt's einwandfrei. Vielleicht irgendwas beim Export verbockt? Sonst ist's mir nicht so recht erklärlich.
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 08-06-2005, 16:55   #8 (permalink)
Neuer User
 
Registriert seit: Sep 2001
Beiträge: 8
mhhh......

werd' es nochmal anders exportieren - mal sehen obs dann klappt....

danke!!
dexter ist offline   Mit Zitat antworten
Alt 08-06-2005, 17:16   #9 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.326
siehe auch
HTML-Objekt: Festes Seitenverhältnis?
#7

und
http://www.seibsprogrammladen.de/fra...ispiele/flash7
-> Stage_size
Die Grösse des SWF's in der HTML-Seiten selbst bestimmen
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de

Geändert von hgseib (08-06-2005 um 17:18 Uhr)
hgseib ist offline   Mit Zitat antworten
Alt 08-06-2005, 19:14   #10 (permalink)
Neuer User
 
Registriert seit: Sep 2001
Beiträge: 8
danke!

schaue gleich mal rein...

gruss
peter
dexter ist offline   Mit Zitat antworten
Alt 18-04-2007, 17:58   #11 (permalink)
FLOW4 INTERACTIV
 
Registriert seit: Mar 2005
Beiträge: 3
Fullscreen ohne Verzerrung

Hallo Jungs,

darüber habe ich mir auch Gedanken gemacht, Tutorials hier und woanders gesucht und nix gefunden.

Mit:

myClip._width = Stage.width;
myClip._height = Stage.height;

geht das logischerweise nicht, da ja mittlerweile hunderte Auflösungen und unterschiedliche Bildseitenverhältnisse vorhanden sind...

Man muß da ein Seitenverhältnis errechen:

Stage.align = "LT";
Stage.scaleMode = "noscale";
_focusrect = false;
stop();
///////////////////////////////////////
if (resizeListener) {
Stage.removeListener(resizeListener);
delete resizeListener;
}
///////////////////////////////////////
var resizeListener:Object = new Object();
resizeListener.onResize = function() {
var w = Stage.width;
var h = Stage.height;
///////////////////////////////////////
var maxwidth = w;
var maxheight = h;
///////////////////////////////////////
if (1280/853<w/h) {
scalefaktor = (maxwidth/1280)*100;
mymc._xscale = scalefaktor;
mymc._yscale = scalefaktor;
} else {
scalefaktor = (maxheight/853)*100;
mymc._xscale = scalefaktor;
mymc._yscale = scalefaktor;
}
///////////////////////////////////////
mymc._x = w/2-mymc._width/2;
mymc._y = h/2-mymc._height/2;
};
Stage.addListener(resizeListener);


Dann wird zwar das Bild oben oder an der Seite ein Stücken abgeschnitten, aber dafür ist das Bild(mymc) immer Bildschirfüllend und nicht verzerrt...

Viel Spaß damit!
flow4 ist offline   Mit Zitat antworten
Alt 28-07-2010, 16:46   #12 (permalink)
Neuer User
 
Registriert seit: Feb 2002
Beiträge: 4
hallo flow4

vielen dank! danach habe ich jetzt 3 stunden gesucht.

gibts ggf. noch die möglichkeit, dass der clip nicht kleiner als 1024x768 skaliert wird, sondern ab diesem maß abgeschnitten wird?
happyhour ist offline   Mit Zitat antworten
Alt 28-07-2010, 16:58   #13 (permalink)
Neuer User
 
Registriert seit: Feb 2002
Beiträge: 4
obwohl: zu früh gefreut:

als ich die swf gerade ins html-dokument eingebunden habe und getestet habe, öffnet sich die swf nicht mehr im vollbild (was bei meiner auflösung 1280x1024 wäre), sondern als 1024x768 mit viel weißem rahmen drum herum...
happyhour ist offline   Mit Zitat antworten
Alt 28-07-2010, 19:22   #14 (permalink)
Neuer User
 
Registriert seit: Feb 2002
Beiträge: 4
ich habs rausgefunden. hier der code:

PHP-Code:
Stage.scaleMode "noScale"
//Skalierung für die ganze Bühne abschalten. 
Stage.align "TL"
//Die aktuelle Ausrichtung der SWF-Datei im Player oder Browser. In diesem Fall TL(Top-Left).  

lstrn = new Object(); 
//Listener erstellen. 
lstrn.onResize = function() { 
    
//Beim verändern der Bühnengröße... 
    
scaleMC._x 0
    
//den zu skalierenden MovieClip in die Mitte des Flash Films setzen. 
    
scaleMC._y 0
    
//den zu skalierenden MovieClip in die Mitte des Flash Films setzen. 
    
if (Stage.width/Stage.height >= 4/3) {
    
    
scaleMC._width Stage.width
    
//die Breite des MovieClip = die Breite der Bühne. 
    
scaleMC._height Stage.width*3/4;
    
//die Höhe des MovieClip = die Höhe der Bühne. 
    
}
    
    if (
Stage.width/Stage.height <= 4/3) {
    
    
scaleMC._width Stage.height*4/3
    
//die Breite des MovieClip = die Breite der Bühne. 
    
scaleMC._height Stage.height;
    
//die Höhe des MovieClip = die Höhe der Bühne. 
    
}
    
}; 
Stage.addListener(lstrn); 
//Listener der Bühne hinzufügen. 
lstrn.onResize(); 
//sofort die Funktion aufrufen. 
happyhour ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 02:13 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele