Zurück   Flashforum > Flash > Flash Fortgeschritten > Flash CS3 Professional

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 12-02-2010, 20:15   #1 (permalink)
Neuer User
 
Registriert seit: Oct 2006
Beiträge: 22
Komme einfach nicht weiter...

Hallo liebe Flasher...

Ich kapiere es einfach nicht. Ich habe eine Flash-Seite erstellt, mit stage & scale. Hier lade ich per load-Funktion bilder in einen MC.
Die Bilder haben die gleiche Größe wie der Flash-Film/-MC.
Die Quali beim speichern aus Photoshop ist auf 100!
Ich habe auch schon smoothin=true für den MC probiert.
Auch bei den publish-Einstellungen steht alles auf höchster Stufe.
Irgendwas funktioniert da nicht, bzw. irgendwie sehe ich es nicht...
Die Bilder sind von der Quali nicht wirklich optimal. (im flash-film)
Sobald ein "resize" gemacht wird, wird es pixelig...

Wäre für jeden Tip dankbar!

Vielen Dank schon einmal...
germore ist offline   Mit Zitat antworten
Alt 12-02-2010, 20:49   #2 (permalink)
Zero to Hero
 
Registriert seit: Apr 2007
Beiträge: 871
ohne script oder was zu sehen, macht antworten wenig sinn :-)
__________________
Ein Tag an dem du nicht gelacht hast ist ein verschwendeter Tag.
Never Stop!

Mike
ingrimm ist offline   Mit Zitat antworten
Alt 12-02-2010, 20:55   #3 (permalink)
Rookie_BS
 
Benutzerbild von Rookie_BS
 
Registriert seit: Sep 2004
Beiträge: 730
Hi!

Was heisst die Bilder haben die Grösse deines Flashfilms?

Angenommen der hat 800x600. Schaue ich mir das Fullscreen auf einem
1920x1200-Monitor an wird es logischerweise pixelig. Die Bilder (jpgs) die du
lädts sollten günstigerweie entweder die höchste wahrscheinliche Auflösung
der Betrachter-Bildschirme haben (ca. wie siehe oben) oder kleiner skaliert
werden.

Skalieren an sich bringt stets Qualätseinbussen, wenn man sich dabei nicht
zu sehr vom Orinal entfernt mag das ja noch erträglich sein.

Ansonsten lautet die Frage: Geht es ums Glätten bei Skalierungen an sich?

Hier mal ein Code-Schgnipsel:

PHP-Code:
function loadBitmapSmoothed(url:Stringtarget_mc:MovieClip)
{
    var 
bmc:MovieClip target_mc.createEmptyMovieClip("bmc"target_mc.getNextHighestDepth());
    var 
listener:Object = new Object();
    
listener.tmc target_mc;
    
listener.onLoadInit = function(mc:MovieClip)
    {
        
mc._visible false;
        var 
bitmap:BitmapData = new BitmapData(mc._width,mc._height,true);
        
this.tmc.attachBitmap(bitmap,this.tmc.getNextHighestDepth(),"auto",true); // smothing: true
        
bitmap.draw(mc);
    };

    var 
loader:MovieClipLoader = new MovieClipLoader();
    
loader.addListener(listener);
    
loader.loadClip(urlbmc);
}

var 
mc _root.bilderanzeige.createEmptyMovieClip("pic",_root.bilderanzeige.getNextHighestDepth());
loadBitmapSmoothed("bilderordner/deinbild.jpg"mc); 
Aus der Flash-Hilfe: attachBitmap (MovieClip.attachBitmap-Methode)

PHP-Code:
public attachBitmap(bmpBitmapDatadepthNumber, [pixelSnappingString], smoothingBoolean]) : Void // > true 
Verknüpft ein Bitmap-Bild mit einem Movieclip.

Das habe ich benutzt um Bilder kleiner und bis zur 1:1 Darstellung zu skalieren und es funktionierte. Die sahen okee aus.
__________________
Wenn Sie glauben Ihnen ist klar was ich gesagt habe - dann haben Sie mich missverstanden! Alan Greenspan

Geändert von Rookie_BS (12-02-2010 um 21:04 Uhr)
Rookie_BS ist offline   Mit Zitat antworten
Alt 12-02-2010, 20:57   #4 (permalink)
Neuer User
 
Registriert seit: Oct 2006
Beiträge: 22
Hier das Script.

Hoffe, es hilft...?!

HTML-Code:
stop();

Stage.scaleMode = "noScale";

Stage.align = "TL";

listenername = new Object();

listenername.onResize = function() {

	//LOGO
	MC._x = MC._width/2-100 ;
	MC._y = MC._height/2+35;
	//MAINNAVI
	MC3._x = MC3._width/2-66;
	MC3._y = Stage.height-(MC3._height/2)-60;
    //KONTAKT_IMPRESSUM
	MC2._x = MC2._width/2;
	MC2._y = Stage.height-(MC2._height/2);
	//IMPRESSUM
	keeper_ani02._x = Stage.width-(keeper_ani02._width/2)-485;
	keeper_ani02._y = Stage.height-(keeper_ani02._height/2)-400;
	//KONTAKT
	keeper_ani01._x = Stage.width-(keeper_ani01._width/2)-485;
	keeper_ani01._y = Stage.height-(keeper_ani01._height/2)-400;
	//TXT_IMPRESSUM
	container4._x = Stage.width-(container4._width/2)+2;
	container4._y = Stage.height-(container4._height/2)+50;
	//SUBNAVI_UEBER_UNS
	thumbs_ueberuns._x = thumbs_ueberuns._width/2+26;
	thumbs_ueberuns._y = Stage.height-(thumbs_ueberuns._height/2)-250;
	//SUBNAVI_PRAXIS
	thumbs_praxis._x = thumbs_praxis._width/2+16;
	thumbs_praxis._y = Stage.height-(thumbs_praxis._height/2)-208;
	//SUBNAVI_OP
	thumbs_op._x = thumbs_op._width/2+25;
	thumbs_op._y = Stage.height-(thumbs_op._height/2)-250;
	//SUBNAVI_LEISTUNGEN
	thumbs_leistungen._x = thumbs_leistungen._width/2-26;
	thumbs_leistungen._y = Stage.height-(thumbs_leistungen._height/2)-206;
	//SUBNAVI_AKTUELLES
	thumbs_aktuelles._x = thumbs_aktuelles._width/2+22;
	thumbs_aktuelles._y = Stage.height-(thumbs_aktuelles._height/2)-250;
	//SCROLL_TXT_DR_LIPPERT
	container._x = Stage.width-(container._width/2)+55;
	container._y = Stage.height-(container._height/2)+900;
	//HEADLINE_DR_LIPPERT
	headline_01._x = Stage.width-(headline_01._width/2)-54;
	headline_01._y = Stage.height-(headline_01._height/2)-400;
	//SCROLL_TXT_DR_FEILER
	container3._x = Stage.width-(container3._width/2)+78;
	container3._y = Stage.height-(container3._height/2)+932;
	//HEADLINE_DR_FEILER
	headline_02._x = Stage.width-(headline_02._width/2)-54;
	headline_02._y = Stage.height-(headline_02._height/2)-400;
	//SCROLL_TXT_SCHEIDLER-HOH
	container5._x = Stage.width-(container5._width/2)+55;
	container5._y = Stage.height-(container5._height/2)+900;
	//HEADLINE_SCHEIDLER-HOH
	headline_03._x = Stage.width-(headline_03._width/2)-54;
	headline_03._y = Stage.height-(headline_03._height/2)-400;
	//SCROLL_TXT_DR_HAASE
	container6._x = Stage.width-(container6._width/2)+55;
	container6._y = Stage.height-(container6._height/2)+900;
	//HEADLINE_DR_HAASE
	headline_04._x = Stage.width-(headline_04._width/2)-54;
	headline_04._y = Stage.height-(headline_04._height/2)-400;
	//SCROLL_TXT_TEAM
	container7._x = Stage.width-(container7._width/2)+55;
	container7._y = Stage.height-(container7._height/2)+400;
	//HEADLINE_TEAM
	headline_05._x = Stage.width-(headline_05._width/2)-54;
	headline_05._y = Stage.height-(headline_05._height/2)-400;
	//SOUNDHOLDER
		//soundholder._x = Stage.width-(soundholder._width/2)-20;
//	soundholder._y = soundholder._height/2;


};
Stage.addListener(listenername);

listenername.onResize();



var once:Boolean = false;
var startoffset:Object = new Object({x:0, y:0});



function vollbild() {

	if (!once) {
		_root.mensch._x<(Stage.width/2) ? startoffset.x=((Stage.width/2)-_root.mensch._x)*-1 : startoffset.x=(_root.mensch._x-(Stage.width/2));
		_root.mensch._y<(Stage.height/2) ? startoffset.y=((Stage.height/2)-_root.mensch._y)*-1 : startoffset.y=(_root.mensch._y-(Stage.height/2));
		once = true;
	}
	_root.scalefactor = (_root.bg._width)/(_root.bg._height);
	_root.stagescale = (Stage.width)/(Stage.height);
	if (_root.stagescale>_root.scalefactor) {
		_root.bg._width = (Stage.width);
		_root.bg._height = (Stage.width)/_root.scalefactor;

	} else {
		_root.bg._width = (Stage.height)*_root.scalefactor;
		_root.bg._height = (Stage.height);
	}
	_root.bg._x = (Stage.width/2)-(_root.bg._width/2);
	_root.bg._y = (Stage.height/2)-(_root.bg._height/2);


	_root.mensch._x = (Stage.width/2)+(startoffset.x*_root.bg._xscale/100);
	_root.mensch._y = (Stage.height/2)+(startoffset.y*_root.bg._yscale/100);
	//_root.mensch._xscale = _root.mensch._yscale=_root.bg._xscale;

}

bgListener = new Object();
bgListener.onResize = function() {
	vollbild();
};
Stage.addListener(bgListener);
vollbild();

MC.onRelease = function(){
	_root.gotoAndStop(3);
}

Geändert von germore (12-02-2010 um 20:58 Uhr) Grund: Bezieht sich auf Skalierung. Das nächste lädt die Bilder...
germore ist offline   Mit Zitat antworten
Alt 12-02-2010, 21:00   #5 (permalink)
Neuer User
 
Registriert seit: Oct 2006
Beiträge: 22
Hier die Load-Funktion.

HTML-Code:
import mx.transitions.Tween;
import mx.transitions.easing.*;




news_btn.onRollOver = function(){
	this.gotoAndPlay(2);
}
news_btn.onRollOut = function(){
	this.gotoAndPlay(6);
}
news_btn.onRelease = function(){
	new Tween(_root.bg.bg_pics_aktuelles, "_alpha", null, 100, 0, 1, true);
    loadMovie("aktuelles/0.jpg",_root.bg.bg_pics_aktuelles );
	new Tween(_root.bg.bg_pics_aktuelles, "_alpha", null, 0, 100, 1, true);
}
germore ist offline   Mit Zitat antworten
Alt 12-02-2010, 21:09   #6 (permalink)
Rookie_BS
 
Benutzerbild von Rookie_BS
 
Registriert seit: Sep 2004
Beiträge: 730
Neee nicht wirklich... aber ich hab Flash derzeit nur auf der Arbeit.

Aber die Funktion oben sollte vllt. helfen. Die Frage bleibt was genau wie
gross oder klein skaliert werden soll und wie du die Aulösungsfrage handhabst.
Im Normalfall hast du das Problem das nach Kleiner Skalierung die JPGs ohne
Glättung pixelig wirken dafür ist die obige Fkt. gut.

Wie gesagt ich würde nur bis 1:1 Bildpixel zu Monitorpixel skalieren.
Bei unscharfen Hintergrundbildern kann man vllt. etwas Originalbildpixel sparen...
__________________
Wenn Sie glauben Ihnen ist klar was ich gesagt habe - dann haben Sie mich missverstanden! Alan Greenspan
Rookie_BS ist offline   Mit Zitat antworten
Alt 12-02-2010, 21:18   #7 (permalink)
Neuer User
 
Registriert seit: Oct 2006
Beiträge: 22
Naja, die Funktion beinhaltet ja eine Skalierung die manuell funktionieren sollte. Also, sie funktioniert ja auch, jedoch werden die geladenen Bilder pixelig. Ich habe auch Bilder, die in der Bibliothek eingebettet sind. Die werden nicht sooo pixelig. Die geladenen jedoch schon. Ich kapiere es gerade nicht...
germore ist offline   Mit Zitat antworten
Alt 13-02-2010, 21:46   #8 (permalink)
Zero to Hero
 
Registriert seit: Apr 2007
Beiträge: 871
wenn du bei den bibliothek-bildern glätten eingestellt hast werden diese besser dargestellt als einfach geladene.

die loadbitmapSmoothed funktion die oben schon genannt wurde macht das gleiche mit den bildern die du von ausserhalb lädts....

PHP-Code:
news_btn.onRelease = function(){
    new 
Tween(_root.bg.bg_pics_aktuelles"_alpha"null10001true);
    
loadBitmapSmoothed("aktuelles/0.jpg",_root.bg.bg_pics_aktuelles );
    new 
Tween(_root.bg.bg_pics_aktuelles"_alpha"null01001true);

...wäre die anwendung für dein beispiel....
__________________
Ein Tag an dem du nicht gelacht hast ist ein verschwendeter Tag.
Never Stop!

Mike
ingrimm 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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Komme einfach nicht weiter DjSkywalker Flash Einsteiger 3 27-06-2008 17:07
Ich komme einfach nicht weiter Spyke Flash MX 2004 4 05-12-2004 10:46
Ich komme hier einfach nicht weiter!!! Neo0800 Flash MX 5 09-11-2004 07:41
hilfeeee ich komme einfach nicht weiter designer013 PHP und MySQL 13 29-12-2003 18:11
komme einfach nicht weiter... mrzweig ActionScript 1 12 08-02-2002 19:41


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:07 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele