Zurück   Flashforum > Flash > ActionScript > ActionScript 2

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 11-04-2011, 18:25   #1 (permalink)
Neuer User
 
Registriert seit: Mar 2005
Beiträge: 16
jpg Qualität einstellen

Ich habe eine Seite gebaut, die immer auf 100% Browsergröße skalliert. Nun habe ich ein Problem mit der Qualität von nachgeladenen jpg´s. Diese werden immer mit 72DPI, auf Seitengröße des Films, nachgeladen, wenn das Browserfenster größer ist als der Film angelegt wurde, reißen die Bilder auf. Dies passiert teilweise auch nur durch das skallieren.

Gibt es eine Möglichkeit Flash dazu zu bringen sie mit einer anderen DPI Zahl einzuladen, ist an meiner generellen Vorgehensweise etwas falsch?

Mein Code sieht zur Zeit so aus:

PHP-Code:
        var l:MovieClipLoader = new MovieClipLoader ()
        
l.loadClip ("bild.jpg"panel.con)
        var 
loadListener:Object = new Object();
        
l.addListener(loadListener);

        
loadListener.onLoadInit = function(target_mc:MovieClip):Void 
        
{
            if (
target_mc._width>300){
            
target_mc._width 300;
                
target_mc._yscale target_mc._xscale;
            }
        } 

Geändert von Marcov (11-04-2011 um 18:29 Uhr)
Marcov ist offline   Mit Zitat antworten
Alt 12-04-2011, 16:29   #2 (permalink)
Neuer User
 
Benutzerbild von option
 
Registriert seit: Aug 2006
Beiträge: 357
Zitat:
Gibt es eine Möglichkeit Flash dazu zu bringen sie mit einer anderen DPI Zahl einzuladen
du kannst die stage grösse abfragen - wenn die zb grösser als 1024 pixel ist das bild in einer anderen auflösung laden.

wenn kleiner als 1024 > lade > bild_x_512.jpg
wenn grösser als 1024 > lade > bild_x_1024.jpg


grüße
option ist offline   Mit Zitat antworten
Alt 12-04-2011, 18:46   #3 (permalink)
Neuer User
 
Registriert seit: Mar 2005
Beiträge: 16
aber wir kann ich das konkret umsetzen? Wenn ich jetzt ein Bild mit höherer Auflösung nachlade wird es ja größer dargestellt (da Flash immer auf 72DPI umrechnet). Ich habe natürlich schon probiert einfach Bilder mit höherer Auflösung zu benutzen, diese werden aber von Flash kleinergerechnet wenn ich sie skalliere, lässt sich das vermeiden?
Marcov ist offline   Mit Zitat antworten
Alt 12-04-2011, 18:56   #4 (permalink)
Neuer User
 
Benutzerbild von option
 
Registriert seit: Aug 2006
Beiträge: 357
Zitat:
Wenn ich jetzt ein Bild mit höherer Auflösung nachlade wird es ja größer dargestellt
such mal nach "resize" und "bildqualität" o.ä.
du musst das bild dann in der grösse anpassen zb.
Code:
bildcontainer._width=400
bildcontainer._height=bildcontainer._xscale
stell vllt auch mal in deinen swf exporteinstellungen die bildqualiät hoch
also flash rechnet meines wissens rechnet flash aber nicht die qualität runter - vorallem nicht bei nachgeladenen bildern.
option ist offline   Mit Zitat antworten
Alt 13-04-2011, 15:40   #5 (permalink)
Neuer User
 
Registriert seit: Mar 2005
Beiträge: 16
hi, danke für die Hilfe. Ich denke ich müsste das smoothing auf true setzen. Ich versuche das mal einzubauen.
Marcov ist offline   Mit Zitat antworten
Alt 13-04-2011, 16:31   #6 (permalink)
Neuer User
 
Benutzerbild von option
 
Registriert seit: Aug 2006
Beiträge: 357
kein problem.

noch was - pack mal in den ersten frame: _quality="HIGH"

das hilft auch noch.
option ist offline   Mit Zitat antworten
Alt 13-04-2011, 17:22   #7 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.162
Noch eine Anmerkung zum Thema DPI in Bildschirmmedien:
DPI spielen im Screendesign keine Rolle!*

*Mit der Einheit DPI gibt man ja an, wieviele (virtuelle) Bildpunkte auf einem Zoll (realen) Material abgebildet werden sollen. So sinnvoll diese Einheit im Print-Bereich ist, so irrelevant ist sie im Screendesign:

Die tatsächlich beim Nutzer auftretende Pixeldichte (DPI) hängt nämlich einzig und allein von dessen Bildschirm ab - genauer gesagt vom Verhältnis der Größe des Bildschirms zu seinen Pixelanzahl. Leider hat man darauf als Designer oder Programmierer aber keinerlei Einfluss...

Ein Pixel ist ein Pixel ist ein Pixel ist ...

Die einzig relevanten Werte sind daher die in Pixeln angegeben Dimensionen der Bilder, Objekte, Buchstaben oder des Browserfenster bzw. Bildschirms, in dem das Ganze abgebildet werden soll. Letzteres bezeichnet man dann gemeinhin auch als Auflösung.

Die vielzitierten "72 dpi" sind übrigens ein heute unsinniger Mittelwert aus einer Zeit, in der die Pixeldichten noch einheitlicher waren. Heute variert diese aber zwischen 326 ppi (beim iPhone4) und irgendwas um die 20ppi (auf einem alten PAL-SD-Fernseher).

Leider hält sich dieser Mythos in der Designbranche so hartnäckig, dass man wo immer möglich etwas zur Ausrottung von "DPI" und "72dpi" im Screendesign beitragen sollte

P.S.: Gerrit van Aaken hat übrigens einen interessantes Essay zu diesem Thema in seinem Blog gepostet:
Der 72dpi-Mythos | praegnanz.de
__________________
Viele Grüße // Martin

Martin Kraft // Interaktionsdesign

Hilfreiche Websites:
// Hilfe zur Adobe Flash Plattform
// ActionScript 2 Referenz
// ActionScript 3 Referenz
// ActionScript 3 Arbeitshandbuch
// weitere Flash Ressourcen

Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da!

Geändert von Martin Kraft (13-04-2011 um 17:35 Uhr)
Martin Kraft ist gerade online   Mit Zitat antworten
Alt 14-04-2011, 13:55   #8 (permalink)
Neuer User
 
Registriert seit: Mar 2005
Beiträge: 16
danke für die Info.

Ein Bild ist also immer z.B. 300*300 Pixel groß, das verstehe ich. Wenn ich es in der Ausgangsgröße in einen Movieclip lade, ist die Qualität auch zufriedenstellend. Jedoch wird die Qualität sobald ich es mit
PHP-Code:
panel.bildtest._width 200;
            
panel.bildtest._yscale panel.bildtest._xscale
verkleinere sehr schlecht (pixelig).
Das hat jetzt auch erst mal nichts mit der Ausgabeanzeige zu tun. Gibt es irgendeine Möglichkeit das zu verhindern, bzw. woran liegt das überhaupt?
Marcov ist offline   Mit Zitat antworten
Alt 14-04-2011, 14:13   #9 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.162
Zitat:
Zitat von Marcov Beitrag anzeigen
Jedoch wird die Qualität sobald ich es mit
PHP-Code:
panel.bildtest._width 200;
            
panel.bildtest._yscale panel.bildtest._xscale
verkleinere sehr schlecht (pixelig).
Das hat jetzt auch erst mal nichts mit der Ausgabeanzeige zu tun. Gibt es irgendeine Möglichkeit das zu verhindern, bzw. woran liegt das überhaupt?
Das liegt daran, das Pixelbilder in Flash nicht standardmäßig geglättet werden. Es gibt jedoch verschiedene Weg dies einzustellen:
  1. Wenn die Bilder über die Bibliothek gepflegt werden, kann man dort unter Eigenschaften das »Glätten zulassen«.

  2. Arbeitet man mit BitmapDatas, kann man einen Parameter smoothing eingeben, wenn man die Bilddaten mit der Funktion attachBitmap auf die Bühne holt.

  3. In AS3 hat die Klasse Bitmap eine entsprechende Eigenschaft namens smoothing, die man jederzeit editieren kann.

    Das ist in AS1/2 leider nicht der Fall, weshalb man bei extern nachgeladenen Bilddaten den Umweg über ein BitmapData gehen muss, um dann (wie in 2. beschrieben) das Glätten aktivieren zu können.
__________________
Viele Grüße // Martin

Martin Kraft // Interaktionsdesign

Hilfreiche Websites:
// Hilfe zur Adobe Flash Plattform
// ActionScript 2 Referenz
// ActionScript 3 Referenz
// ActionScript 3 Arbeitshandbuch
// weitere Flash Ressourcen

Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da!
Martin Kraft ist gerade online   Mit Zitat antworten
Alt 14-04-2011, 19:18   #10 (permalink)
Neuer User
 
Registriert seit: Mar 2005
Beiträge: 16
danke, ich habe es nun so gelößt und es geht:

PHP-Code:
import flash.display.BitmapData;
                
panel.createEmptyMovieClip("holder_mc"this.getNextHighestDepth());
        var 
l:MovieClipLoader = new MovieClipLoader ()        
        
l.loadClip("bild.jpg"panel.holder_mc);
            
        var 
myBitmap BitmapData
        
var loadListener:Object = new Object();
        
l.addListener(loadListener);
            
loadListener.onLoadInit = function(target_mc):Void 
        
{

            var 
myBitmapData:BitmapData = new BitmapData(target_mc._width,target_mc._height,true,0xFFFFFFF)
            
myBitmapData.draw(target_mc); 
            
            
panel.con.attachBitmap(myBitmapData1"auto"true)
            if (
panel.con._width>300){
            
panel.con._width 300;
            
panel.con._yscale panel.con._xscale;
            }
            
panel.holder_mc.removeMovieClip();
            
            } 

Geändert von Marcov (14-04-2011 um 19:19 Uhr)
Marcov 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
FoV einstellen litchi ActionScript 3 1 12-10-2009 17:31
Bei Loadmovie die Qualität einstellen?! netterkerl1981 ActionScript 2 7 09-07-2008 08:24
Musik/Sound Qualität im Flashfilm in Echtzeit-Qualität abspielen DerIngo Flash 8 4 10-07-2006 11:18
qualität einstellen beim exportieren onegreatcity Flash MX 1 12-10-2005 15:35
qualität einstellen? ExarKun Flash MX 6 07-04-2003 16:19


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:58 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele