Zurück   Flashforum > Flash > ActionScript > ActionScript 3

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 14-12-2011, 14:58   #1 (permalink)
Neuer User
 
Registriert seit: Dec 2011
Beiträge: 4
Brauche Hilfe bei Fotogenerierung

Hallo alle,
ich habe ein Problem. Wenn man in Flash ein Foto zum Drucken generieren möchte (300 dpi) ist die max. Auflösung 16 Millionen Pixel.
Ich muss aber Fotos mit einer Auflösung von 300 Millionen Pixel generieren. wie ist es Möglich? Es gibt schon Websites die sowas anbieten posterxxl und so weiter!
könnt ihr mich aufklären!

Danke im Voraus!
vova ist offline   Mit Zitat antworten
Alt 14-12-2011, 15:07   #2 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.162
Hallo und willkommen im Forum!

Dafür müsstest Du das Bild gekachelt in mehren Einzel-BitmapDatas generieren und diese dann später (z.B. in Photoshop) wieder zusammensetzen. Bei der Wahnsinnsauflösung ist es aber durchaus möglich, das Du dabei RAM-Probleme bekommst.
  • Wie generierst Du denn diese Grafik?
  • Wie sieht sie aus?
  • Wofür brauchst Du so eine Auflösung (selbst bei 300dpi sind das mindestens 150cm Kantenlänge)?
  • Wäre es nicht auch möglich stattdessen einfach mit Vektoren zu arbeiten?
__________________
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 (14-12-2011 um 15:09 Uhr)
Martin Kraft ist offline   Mit Zitat antworten
Alt 14-12-2011, 15:22   #3 (permalink)
Keine Panik
 
Registriert seit: Apr 2010
Ort: Düsseldorf (im ernst)
Beiträge: 1.868
schau dir mal BigAssCanvas an; der verwaltet das dann für dich.
ein weiteres Problem dürfte dann aber das Rendern als JPEG oder PNG sein. A dauert das bei der Größe endlos lange, und B dürfte bislang jede Implemeniterung der Encoder, mit BitmapDatas arbeiten. BigassCanvar ist aber ein Sprite, dass mehrere Bitmaps und dazu BitmapDatas kapselt.

Problem A kannst du mit einer asyncronen Implementierung eines Encoders lösen. Dadurch dauert es zwar keinen Moment kürzer (wahrscheinlich noch was länger), aber dir friert wenigstens die Anwendung nicht ein oder schmiert ab.

Für Problem B müsstest du eine eigene Lösung implementieren.
Ich hatte da mal ne Idee mit nem Wrapper für BigAssCanvas, der von BitmapData erbt, und die Methoden einfach weiterleitet.
__________________
greetz Thomas

plz RTFM & Coding Conventions
thomas_E ist offline   Mit Zitat antworten
Alt 15-12-2011, 06:55   #4 (permalink)
Neuer User
 
Registriert seit: Dec 2011
Beiträge: 4
so eine Auflösung brauche ich um Bildtapeten usw. zu erstellen. Das ist für eine Seite gedacht. Als Beispiel ist die Seite posterxxl.de gedacht. soweit ich es weiß ist es Möglich sowas per PHP zu generieren, jedoch gibt es weniger Möglichkeit wie mit dem Flash. (siehe posterxxl.de). Es muss folgende Vorgehensweise sein, ich lade ein Bild hoch, mit einer hohen Auflösung und Qualität, diese muss auf dem Server diese in eine PDF-Datei generieren um es an ein Druckunternehmen weiter zu leiten.

Liebe Grüße
vova ist offline   Mit Zitat antworten
Alt 15-12-2011, 08:12   #5 (permalink)
Keine Panik
 
Registriert seit: Apr 2010
Ort: Düsseldorf (im ernst)
Beiträge: 1.868
Zitat:
soweit ich es weiß ist es Möglich sowas per PHP zu generieren, jedoch gibt es weniger Möglichkeit wie mit dem Flash.
weniger Möglickeiten bei was? was willst du mit dem hochgeladenen Bild machen?

Zitat:
ich lade ein Bild hoch, mit einer hohen Auflösung und Qualität ...
die Quali ist erstmal kein Problem, die Auflösung schon.
Bilder werden in Flash intern als unkomprimierte Bilddaten verwaltet, in BitmapDatas. die Maximale Auflösung liegt hier bei 2880x2880 px. ich weiss grad nicht sicher wie sich Flash verhält, wenn du größere Bilder lädst, ich vermute aber, dass es sie einfach ignoriert, weil es sie nicht umwandeln kann.
Hieße, du müsstest die Bilder "von hand" decodieren, und in mehrere gekachelte BitmapDatas zeichnen. (für jpeg hatt ich sowas schonmal gesehen, weiss aber nicht mehr genau, wo hier:AS3 JPEG Decoder - ByteArray.org)
Dadurch dass die Bilddaten zur Laufzeit unkomprimiert vorliegen, kannst du dich auch auf einen erheblichen Speicherverbrauch einstellen.

Zitat:
diese muss auf dem Server diese in eine PDF-Datei generieren um es an ein Druckunternehmen weiter zu leiten.
mit dem generieren von PDFs in Flash hab ich mich bisher nicht beschäftigt. afaik enthält PDF jpeg-Grafiken. das kodieren von so großen Grafiken wird einige Zeit in Anspruch nehmen, ich schätze es geht in die Minuten und ist abhängig vom Computer des jeweiligen Seitenbesuchers.
Hast du daran gedacht, dass einige deiner Clienten einen möglicherweise zu schwachen Computer haben könnten?

wie skalierst du die Bilder? einfach zoomen? dann werden die Bilder weichgezeichnet.
Bei Photos mag das noch verschmerzbar sein, wenn du aber scharfe Kanten hast, wird das mitunter unschön.
und hast du dir Gedanken über Bildverbesserungsmethoden gemacht, oder sollen einfach die Bilder so abgebildet werden, wie sie hochgeladen wurden?
__________________
greetz Thomas

plz RTFM & Coding Conventions

Geändert von thomas_E (15-12-2011 um 09:19 Uhr) Grund: PNG geschrieben, PDF gemeint
thomas_E ist offline   Mit Zitat antworten
Alt 15-12-2011, 08:45   #6 (permalink)
Neuer User
 
Registriert seit: Dec 2011
Beiträge: 4
Es ist vorgesehen, das die Kunden ein Bild hochladen, welches sie dann in Flash gestallten können, Effekte, Größe ändern. wir können zum Beispiel Bilder 10*10 Meter drucken, und wenn der Kunde ein Bild uploadet, soll er die Möglichkeit haben für dieses Bild die Größe einzustellen, dann wird das Foto generiert und im Backend gespeichert (PDF). Fürs Drucken sind dann auch noch 300 dpi wichtig.
Aber bis jetzt kann Flash nur bis 16 Millionen Pixel generieren. Gibt es vielleicht Software die es ermöglicht das zu vollziehen? Irgendwie funktioniert das bei anderen Webseiten. Mich interessiert es wie? Ich kann keine Lösung finden.

Geändert von vova (15-12-2011 um 08:58 Uhr)
vova ist offline   Mit Zitat antworten
Alt 15-12-2011, 08:46   #7 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.162
Wenn's einfach nur darum geht große Bilder klein zu rechnen und in ein PDF* zu konvertieren würde ich das serverseitig erledigen.

*Wieso eigentlich PDF? Eine vernünftige Druckeri sollte aus den Orginal-RGB-Daten deutlich bessere Ergebnisse rausholen können, als aus einem ohne jegliche Farbverwaltung konvertiertem PDF?!
Zitat:
Zitat von thomas_E Beitrag anzeigen
Bilder werden in Flash intern als unkomprimierte Bilddaten verwaltet, in BitmapDatas. die Maximale Auflösung liegt hier bei 2880x2880 px.
Diese Infromation ist seit FP10 überholt:
Zitat:
Zitat von http://help.adobe.com/de_DE/FlashPlatform/reference/actionscript/3/flash/display/BitmapData.html
In AIR 1.5 und Flash Player 10 beträgt die maximale Höhe oder Breite eines BitmapData-Objekts 8.191 Pixel, die gesamte Pixelzahl darf 16.777.215 nicht übersteigen. (Wenn ein BitmapData-Objekt also 8.191 Pixel breit ist, darf es nur 2.048 Pixel hoch sein.) In Flash Player 9 und niedriger und AIR 1.1 und niedriger liegt die Grenze bei je 2.880 Pixel Höhe und Breite.
Die Lage hat sich also etwas, wenn auch nicht wesentlich, entspannt.
Zitat:
Zitat von thomas_E Beitrag anzeigen
mit dem generieren von PNGs in Flash hab ich mich bisher nicht beschäftigt. afaik enthält PNG jpeg-Grafiken.
Das stimmt so nicht: Ein PNG enthält keine JPEG-Daten sondern komprimiert mit dem Deflate-Algorithmus.
__________________
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 offline   Mit Zitat antworten
Alt 15-12-2011, 09:06   #8 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.162
Zitat:
Zitat von vova Beitrag anzeigen
wir könne zum Beispiel Bilder 10*10 Meter drucken, und wenn der Kunde ein Bild uploadet, soll er die Möglichkeit haben für dieses Bild die Größe einzustellen, dann wird das Foto generiert und im Backend gespeichert (PDF). Fürs Drucken sind dann auch noch 300 dpi wichtig.
Ihr druckt doch keine 10x10m großen Medien in 300dpi?! Ich kenne solche Formate nur von Werbeplanen und dafür reichen in der Regel zweistellige dpi-Zahlen?!

Wo sollen Eure Kunden überhaupt Bildmaterial in dieser Auflösung herbekommen? Meines Wissens gibt es auf dem freien Markt keine einzige Kamera, die diese Auflösung erreicht. Da musst Du schon in die Astronomie gehen, oder Dein Motiv aus zig Bilder zusammenstitchen.

Außerdem dürfte es ziemlich dauern diese Daten ans Backend zu übertragen: 300MP bei 24bit bedeuten im unkomprimierten Zustand immerhin fast 860MB Daten - Ich befürchte das der FlashPlayer bei diesen Datenmengen irgendwann RAM-mäßig an seine Grenzen stößt.
Als JPG kommt man vielleicht auf 70-80MB runter (für einen Layer) - was aber immer noch eine ziemliche Datenmenge ist...

Ergo:
Es hat schon seinen Grund weshalb es Grafikprogramme wie PhotoShop gibt, die auch mit solchen Datenmengen umgehen können. Der FlashPlayer kann das IMHO nicht. Hier sollte man allein aus Performance Gründen höchstens mit verkleinerten Preview-Bildern arbeiten und die Vollauflösung dann aus den Orginaldaten serverseitig generieren.



P.S.: Ich habe das Thema mal in den AS3-Bereich verschoben, weil es wirklich nichts mit »Komponenten und SmartClips« zu tun hat.
__________________
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 (15-12-2011 um 09:14 Uhr)
Martin Kraft ist offline   Mit Zitat antworten
Alt 15-12-2011, 09:12   #9 (permalink)
Neuer User
 
Registriert seit: Dec 2011
Beiträge: 4
Produkte bis 2 x 2 Meter Größe = bis zu 250 dpi
Produkte 2-4 Meter Größe = 200 dpi
Produkte 4-5 Meter Größe = 130 dpi

So sollte es eigentlich sein!habe ein bissel übertrieben!Sorry!

Geändert von vova (15-12-2011 um 09:14 Uhr)
vova ist offline   Mit Zitat antworten
Alt 15-12-2011, 09:38   #10 (permalink)
Keine Panik
 
Registriert seit: Apr 2010
Ort: Düsseldorf (im ernst)
Beiträge: 1.868
Zitat:
Zitat von Martin Kraft Beitrag anzeigen
Diese Infromation ist seit FP10 überholt:
Zitat:
Zitat von http://help.adobe.com/de_DE/FlashPlatform/reference/actionscript/3/flash/display/BitmapData.html
In AIR 1.5 und Flash Player 10 beträgt die maximale Höhe oder Breite eines BitmapData-Objekts 8.191 Pixel, die gesamte Pixelzahl darf 16.777.215 nicht übersteigen. (Wenn ein BitmapData-Objekt also 8.191 Pixel breit ist, darf es nur 2.048 Pixel hoch sein.) In Flash Player 9 und niedriger und AIR 1.1 und niedriger liegt die Grenze bei je 2.880 Pixel Höhe und Breite.
Die Lage hat sich also etwas, wenn auch nicht wesentlich, entspannt.
thx, is an mir vorbeigegangen.

Zitat:
Zitat von Martin Kraft Beitrag anzeigen
Das stimmt so nicht: Ein PNG enthält keine JPEG-Daten sondern komprimiert mit dem Deflate-Algorithmus.
sry, war ein Buchstabendreher. meinte PDF nicht PNG.
__________________
greetz Thomas

plz RTFM & Coding Conventions
thomas_E ist offline   Mit Zitat antworten
Alt 26-12-2011, 17:57   #11 (permalink)
ING
whatever
 
Registriert seit: May 2008
Beiträge: 419
Selbst gerade erst gelesen:

Zitat:
  • SWF 13+ (Flash Player 11, AIR 3) das praktische Limit ist die Größe des verfügbaren Speichers. (Das theoretische Limit für Breite oder Höhe ist die größte positive Ganzzahl geteilt durch 20, allerdings werden Sie die Speicherlimits lange vor dieser Größe erreichen.)
  • SWF 10 (Flash Player 10, AIR 1.5) die maximale Höhe oder Breite eines BitmapData-Objekts beträgt 8.191 Pixel, die gesamte Pixelzahl darf 16.777.215 nicht übersteigen. (Wenn ein BitmapData-Objekt also 8.191 Pixel breit ist, darf es nur 2.048 Pixel hoch sein.)
  • SWF 9 (Flash Player 9, AIR 1.1) das Limit liegt bei 2.880 Pixel für die Höhe und 2.880 Pixel für die Breite. Falls Sie für „width“ oder „height“ höhere Werte als 2.880 angeben, wird keine neue Instanz erstellt.
flash.display.BitmapData - ActionScript® 3.0 Referenzhandbuch für die Adobe® Flash®-Plattform

ING ist offline   Mit Zitat antworten
Alt 27-12-2011, 10:17   #12 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.162
Super, danke für den Tipp!
Ich hab's gerade mal ausprobiert. Ein BitmapData mit den gewünschten gut 300 MegaPixeln schluckt der FP11 jedenfalls problemlos (allerdings nur wenn man auch für FP11 veröffentlicht):
ActionScript:
  1. var bmp:BitmapData = new BitmapData(30000, 10000);
  2. trace(bmp.width * bmp.height);
Nett von Adobe, dass sie so eine essentielle Information in der Dokumentation der Konstruktorfunktion verstecken und und in der Klasse selbst mit verallteten Informationen aufwarten

Hat irgendjemand eine Idee, wie dieser Versionssprung beim SWF-Format zustandekommt?
Bis SWF10 entspricht die Version ja der des zugehörigen FlashPlayers, aber bei FlashPlayer11 wird dann aber plötztlich SWF13 angegeben
__________________
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 (27-12-2011 um 10:21 Uhr)
Martin Kraft 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
Brauche Hilfe flasher123456 Flash MX 4 17-01-2005 23:07
Ich brauche ein Banner in Java Script !! Brauche Hilfe Lord-Nikeon HTML und CSS 4 22-11-2003 18:18
Brauche Hilfe chucky88 Flash 4 und Flash 5 1 01-09-2003 07:34
Brauche hilfe !!! lehmo ActionScript 1 5 06-02-2002 14:45
Hilfe brauche schnell hilfe darskide Flash 4 und Flash 5 1 23-10-2001 05:43


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:18 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele