Zurück   Flashforum > Flash > Flash Fortgeschritten > Flash 8

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 31-01-2008, 13:23   #1 (permalink)
.
 
Benutzerbild von marcorei
 
Registriert seit: Dec 2003
Ort: Regensburg
Beiträge: 114
Bilder drehen

Hi,

sry, dass ich das Thema nochmal anschneide, bin aber noch nicht viel weiter gekommen mit dem Thema, nur neue Ansätze gefunden.

Ziel: Ich will ein Bild mit sauber gedreht neu berechnen.

Das normale Drehen beim Berechnen tut es nich. Es entstehen Treppen im Bild.
PHP-Code:
matrix.rotate((grad/180)*Math.PI);
bitmap.draw(mcmatrix); 
Erster Lösungsansatz kam von ne Freund, der meinte, wenn man die Matrix aufsplittet, wäre die Treppenbildung geringer.
(siehe Anhang)
Irgendjemand Erfahrungen in die Richtung?
Edit:
Kleiner Nachtrag: Ich will NICHT das Smoothing anschalten, sondern die Bilder wirklich sauber drehen, um das Smoothing ausgeschaltet lassen zu können (Performanceproblem)


Eine weitere Frage hätte ich dann noch: Wenn in ein neues BitmapData Objekt etwas "hineinmale", dann ist es zunächst ein waagrecht liegendes Rechteck -> Bei einem gedrehten Bild habe ich also einige (weiße, schwarze oder durchsichtige) Pixel außenrum, die bei jeder Abfrage, wie onRelease, auch berücksichtigt werden.
Gibt es eine Möglichkeit, das zu vermeiden? Ich möchte es nach Möglichkeit umgehen, nacher maskieren zu müssen.

Bitte um Hilfe, stecke da nun schon eine ganze Weile!
Vielen Dank,
Markus
Angehängte Grafiken
Dateityp: jpg drehmatrix.JPG (7,3 KB, 38x aufgerufen)

Geändert von marcorei (31-01-2008 um 13:49 Uhr)
marcorei ist offline   Mit Zitat antworten
Alt 31-01-2008, 18:52   #2 (permalink)
.
 
Benutzerbild von marcorei
 
Registriert seit: Dec 2003
Ort: Regensburg
Beiträge: 114
Niemand ne Idee?

[edit]
Lösung für das Glätten gefunden:
PHP-Code:
var bitmap_roh:BitmapData = new BitmapData(150,150,false,0);
preview_roh.attachBitmap(bitmap_roh,0,"auto",true); //Daten zuerst in einen Dummy schreiben und smoothing einschalten
bitmap_roh.draw(mc); //mc sei die Quelle, sprich Container, in den das Bild geladen wurde
var bitmap:BitmapData = new BitmapData(200,200,false,0);
preview.attachBitmap(bitmap,0,"auto",false); //Dann gedreht neu schreiben und smoothing ausschalten.
var winkel:Number = (grad/180)*Math.PI//grad sei der Winkel, um den gedreht werden soll
var matrixx:Matrix = new Matrix(Math.cos(winkel),Math.sin(winkel),-Math.sin(winkel),Math.cos(winkel),offsetx,offsety);
bitmap.draw(preview_rohmatrixx); 
Ich finde es etwas umständlich, aber es klappt

Geändert von marcorei (31-01-2008 um 19:22 Uhr)
marcorei 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 20:27 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele