Bild stufenlos drehen
Oliver S
- grafik
Hi, Ich habe ein Bild und das würde ich gerne stufenlos drehen lassen.
2D 360°. Also wie ein Glücksrad von oben.
Hat da jemand eine Idee, wie man das machen kann?
Java, JS, Flash?
Danke und Ciao Olli
Moin!
Hi, Ich habe ein Bild und das würde ich gerne stufenlos drehen lassen.
2D 360°. Also wie ein Glücksrad von oben.
Hat da jemand eine Idee, wie man das machen kann?
Java, JS, Flash?
Alle drei Möglichkeiten funktionieren. Nur manche etwas anders, als du denkst.
Flash kann alles. Du lädst ein Bild und läßt es rotieren. - Fertig.
Java kann auch alles. Programmier' eine entsprechende Bildrotierfunktion (oder finde eine im Internet), und alles wird gut.
Javascript kann nicht alles. Hier müßtest du mit mehreren Bildern arbeiten, die verschiedene Drehzustände zeigen. Wenn du wirklich jede Gradeinstellung zeigen willst, hast du hinterher 360 Bilder. Alle 10 Grad könnten reichen, macht 36 Bilder. Diese Bilder stellst du in deinem Bildbearbeitungsprogramm her, indem du sie dort drehst, und für die Anzeige auf der Webseite wechselst du die Bilder dann einfach aus.
Eine vierte Möglichkeit hast du nicht erwähnt: Du kannst auch ein animiertes GIF nehmen, welches das rotierende Bild zeigt. Allerdings hast du dann die Einschränkung auf 256 Farben (was bei Fotos nicht unbedingt schön wirkt), und du kannst den Ablauf der Rotation nicht dynamisch steuern: Es dreht und dreht und dreht, sobald das Bild einmal geladen ist.
- Sven Rautenberg
Hi,
Ich habe ein Bild
was genau bedeutet diese Aussage?
Hast Du eine vektorielle Darstellung des Bildes, oder nur Pixel?
und das würde ich gerne stufenlos drehen lassen.
Hat da jemand eine Idee, wie man das machen kann?
Ich würde mal damit anfangen, zu überlegen, _ob_ man das überhaupt
machen kann, d. h. welche Randbedingungen dabei erfüllt sein müssen.
Wenn Du eine auflösungsunabhängige mathematische Darstellung des Bildes
hast (Vektoren wären eine), dann kannst Du eine beliebige, insbesondere
stufenlose Drehung durch eine entsprechende mathematische Transformation
durchführen. Das ist dann natürlich noch keine Bildschirmausgabe, aber
immerhin erst mal korrekt, d. h. nicht rundungsfehlerbehaftet.
Wenn Du dagegen Pixel hast, dann wird eine _stufenlose_ Drehnung über-
haupt nicht möglich sein. Dein Ausgabemedium erlegt Dir nun mal einige
Beschränkungen auf.
Insbesondere: Wenn Du ein 'gepixeltes' Bild dadurch drehen willst,
daß Du eine ggf. sogar wiederholte Abbildung auf die Pixel anwendest,
wird die Qualität der abgeleiteten Bilder sehr schnell immer weiter
abnehmen - weil Du bei jeder weiteren Drehung die neuen Positionen
der Pixel immer wieder runden mußt. Sinnvoller ist da eine medien-
unabhängige abstrakte Darstellung zu verwenden, diese zu drehen und
aus ihr dann die jeweiligen Pixel-Bilder zu generieren.
Welche und wieviele das dann sein sollen, ist von Deiner Aufgabenstellung
noch zu definieren. "Stufenlos" würde "unendlich viele" bedeuten, das
ist angesichts der Randbedingungen nicht machbar; Du müßtest Dir also
irgend ein Modell definieren, welches das erwünschte Ideal halbwegs
vernünftig annähert.
Da wir hier ein Webforum haben und Du nichts über besondere Randbedin-
gungen geschrieben hast, wirst Du insbesondere nicht beliebige Daten-
mengen über das langsame Netz übertragen können. Ein Bild pro Grad
Drehung Deines Rades wären schon verteufelt viele Daten.
Dein Ansatz, die Bilder auf dem Client dynamisch zu berechnen, erscheint
mir daher sinnvoll.
Mit JavaScript hast Du allerdings m. E. nicht die Möglichkeit, den Inhalt
von Bildern zu verändern.
Über die interaktiven Möglichkeiten von Flash kann ich nichts aussagen.
Bliebe also noch Java. Das wiederum hätte die Möglichkeit, innerhalb
seines Applet-Fensters selbst graphische Ausgaben zu machen; das sieht
dann natürlich nicht annähernd so aus wie ein animiertes GIF in einem
HTML-Dokument. Aber von den sprachlichen Möglichkeiten müßte das gehen.
Überhaupt sind Web-Sprachen nicht darauf ausgelegt, die verfügbare
Hardware bis zum Rand auszureizen. Der Versuch, per Web-Seite mit einer
auf eine Rechnerplattform optimierten Ballerspiel zu konkurrieren, wird
m. E. ziemlich heftig zum Scheitern verurteilt sein. Das liegt auch daran,
daß interaktive Spiele durch hochoptimierten, compilierten Code realisiert
werden, während Du bei Java, JavaScript etc. mit sperrigem, interpretierten
Code auskommen mußt. Und eine beliebig komplexe Verarbeitungslogik würde
bedeuten, daß Du wiederum beliebig umfangreichen Programmcode zum Anwender
übertragen mußt - vergleichbar mit den Applet-Downloads von mehreren
hundert Kilobyte, den einige Direktbanken ihren Kunden zumuten.
Was Deine Frage überhaupt nicht berücksichtigt hat: Wie stellst Du Dir
die mögliche Benutzerinteraktion vor? Soll das Drehen automatisch er-
folgen, oder durch etwas, das der Anwender aktiv auslöst? Falls letzteres,
müßtest Du auch noch auf diese Aktion reagieren, und das ebenfalls wieder
mit client-seitiger Intelligenz.
Viele Grüße
Michael
Hallo,
Wunderbar.... schade, daß man keine beiträge mehr zur Archivierung vorschlagen kann, sondern sowieso alle archiviert werden. Denn hier hätte ich gerne (ja ja, unsinnigerweise) gleich mehrmals den Knopf gedrückt ;-)
Chräcker
Hi, Ich habe ein Bild und das würde ich gerne stufenlos drehen lassen.
2D 360°. Also wie ein Glücksrad von oben.
Hat da jemand eine Idee, wie man das machen kann?
Java, JS, Flash?
Danke und Ciao Olli
hi olli
also mit java und flash
selbstverständlich auch mit javascript und vml (xml-abkömmling, der mit vektorgrafik arbeitet) läuft dann aber nur im IE
svg - ist ebenfalls ein xml-abkömmling von adobe definiert und du brauchst genauso wie bei flash ein plugin zum abspielen
tschüß gerald
Moin!
svg - ist ebenfalls ein xml-abkömmling von adobe definiert und du brauchst genauso wie bei flash ein plugin zum abspielen
SVG ist ein offizieller Standard vom W3C. http://www.w3.org/TR/SVG/
Daß Adobe das einzige Plugin bislang dafür herstellt, dürfte politische Gründe haben: Adobe kann Macromedia im Flash-Markt keine Anteile abjagen, also sammeln sie bei SVG schon mal Vorsprung an. Ich denke, SVG wird Flash einmal komplett ablösen - aber natürlich nur, wenn die Hersteller entsprechend gute Bearbeitungssoftware anbieten für die Masse.
SVG ist zwar ein XML-Derivat, aber ich denke doch, daß gerade bei Grafik die Leute nicht programmieren, sondern auf dem Bildschirm mit der Maus zeichnen wollen.
- Sven Rautenberg