<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>zeroseven labs &#187; Flash</title>
	<atom:link href="http://labs.zeroseven.de/category/design/flash/feed/" rel="self" type="application/rss+xml" />
	<link>http://labs.zeroseven.de</link>
	<description></description>
	<lastBuildDate>Wed, 28 Jul 2010 07:43:22 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Schnelle Fourier-Transformation (1D + 2D) für ActionScript</title>
		<link>http://labs.zeroseven.de/development/actionscript-development/schnelle-fourier-transformation-1d-2d-fur-actionscript/</link>
		<comments>http://labs.zeroseven.de/development/actionscript-development/schnelle-fourier-transformation-1d-2d-fur-actionscript/#comments</comments>
		<pubDate>Fri, 25 Jun 2010 12:36:43 +0000</pubDate>
		<dc:creator>alexanders</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[DEVELOPMENT]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[computeSpectrum]]></category>
		<category><![CDATA[extract]]></category>
		<category><![CDATA[fourier]]></category>
		<category><![CDATA[schnelle]]></category>
		<category><![CDATA[Sound]]></category>
		<category><![CDATA[Transformation]]></category>

		<guid isPermaLink="false">http://labs.zeroseven.de/?p=1510</guid>
		<description><![CDATA[Wie schon in einem älteren Beitrag (SoundMixer.computeSpectrum() vs. Sound.extract()) von mir beschrieben, gibt es (noch immer) ein Problem mit der computeSpectrum Methode des SoundMixers. Diese Methode zum Auslesen des Spektrums ist an sich eine schöne Funktion, gehört aber dem SoundMixer. Dieser ist eine globale Flash-Klasse, was einige Probleme mit sich bringt. Nutzt man diese Funktion [...]]]></description>
			<content:encoded><![CDATA[<p>Wie schon in einem älteren Beitrag (SoundMixer.computeSpectrum() vs. Sound.extract()) von mir beschrieben, gibt es (noch immer) ein Problem mit der <code>computeSpectrum</code> Methode des SoundMixers. Diese Methode zum Auslesen des Spektrums ist an sich eine schöne Funktion, gehört aber dem SoundMixer. Dieser ist eine globale Flash-Klasse, was einige Probleme mit sich bringt. Nutzt man diese Funktion innerhalb eines SWFs und hat andere SWF, welche Sound beinhaltet offen, kommt es unweigerlich zu Sicherheitsfehlern und wirklich unschönen Geräuschen. </p>
<p><span id="more-1510"></span></p>
<p>Umgehen lässt sich dies mit Hilfe der der <code>extract()</code> Methode der Sound-Klasse. Hier wird das gesamte Frequenzspektum des Sounds augelesen und kann weiter verwendet werden. Aber es gibt einen gravierenden Unterschied bei beiden Mehtoden. Die computeSpectrum liefert von Haus aus eine schnelle Fourier Transformation mit. Hingegen liefert die <code>extract()</code>-Methode nur RAW-Daten zurück. Kurz zusammengefasst bedeutet dies, dass mit Hilfe der <code>computeSpectrum</code> die zurückgelieferten Frequenzen nach Bereich sortiert werden und bei der anderen Funktion eben nicht.</p>
<p>Klar könnte man hingehen und selbst eine einfache Sortierfunktion schreiben. Doch bei der etwas größeren Datenmenge die bewältigt werden muss, wird dies das Script auf jeden Fall verlangsamen. Eine Methode die verwendet werden kann zur Sortierung ist die Schnelle Fourier-Transformation, die auf der Diskreten Fourier-Transformation basiert. Aber leider gab es diese Funktion, wie gesagt, nur innerhalb der <code>computeSepctrum()</code> Methode.</p>
<p>Nun hat Eugene Zatepyakin sich die Mühe gemacht und eine Implementierung der schnellen Fourier-Transformation in ActionScript 3 geschrieben, die frei verfügbar bei Google-Code ist. Mit Hilfe dieser Klassen konnte ich, nach ein paar Tests, den SoundVisualizer mit der Funktionalität zur Sortierung der Sound Daten erweitern, ohne die oben kurz angerissenen Probleme wieder aufzureißen. </p>
<p>Die Implementierung ist, wie Eugene sie auch beschreibt, sehr einfach. Für die Verwendung mit Sound wird die FFT-Klasse verwendet. Des weiteren gibt es noch die FFT2D-Klasse, welche die Möglichkeit eine zweidimensionale Transforation durchzuführen bietet, wie sie etwa bei Bildern Verwendung findet. Bei der Initialisierung der Klasse mit deren init()-Methode sollte man auch nicht über 2048 Bytes gehen, da sonst wiederum die Performance leidet. Besonders ist darauf zu achten, dass die Anzahl der ausgelesenen Bytes über die <code>extract</code>-Methode mit der bei der init Methode übereinstimmt.</p>
<p>Der eingentliche Analyzer ist in der FFTSpectrumAnalyzer-Klasse. Hier wird in der initLogarithmicAverages-Methode zunächst die Mindestbandbreite angegeben und die Anzahl an Bändern, in die eine Oktave unterteilt werden soll.<br />
Sehr wichtig ist auch die Einstellung &#8220;Little Endian&#8221; für den ByteArray, welcher die resultierenden Daten hält. Innerhalb des onSampleDataEvent-Handlers werden die ausgelesenen Bytes dann der fft-Klass mittels <code>setStereoRAWDataByteArray(bytes)</code> mitgegeben, um dann anschließend die <code>forwardFFT()</code> aufzurufen, welche die eigentliche Transformation ausführt. <code>fftHelp.analyzeSpectrum()</code> liefert dann den analysierten ByteArray, welcher dann weiter benutzt werden kann für alle möglichen visuellen Ausgaben, zurück. Noch ist hier der Sound selbst noch nicht ausgegeben. Dafür müssen die Bytes zurück transformiert werden über <code>fft.inverseFFT()</code>. Nach dem Zurücksetzen der Position innerhalb des BytesArrays können nun die SoundBytes an <code>event.data</code> zur Ausgabe übergeben werden. Den genauen Ablauf der Funktionen kann man auch auf Google Code nachlesen. Hier hat Eugene zwei Beispielscripts eingefügt. Und als anschauliches Beispiel für die Verwendung seiner Bibliothek einfach den zeroseven SoundVisualizer anschauen. Hier ist im letzten Reiter eine weitere Checkbox, in der man angeben kann, ob die Daten sortiert (FFT) oder unsortiert (RAW) verwendet werden sollen.</p>
<p>Links:</p>
<ul>
<li>
Vergleich computeSpectrum und extract: <a href="http://labs.zeroseven.de/development/actionscript-development/soundmixer-computespectrum-vs-sound-extract-2/">http://labs.zeroseven.de/development/actionscript-development/soundmixer-computespectrum-vs-sound-extract-2/</a>
</li>
<li>
Wikipediaeintrag zur Schnellen Fourier-Transformation: <a href="http://de.wikipedia.org/wiki/Schnelle_Fourier-Transformation">http://de.wikipedia.org/wiki/Schnelle_Fourier-Transformation</a>
</li>
<li>
Wikipediaeintrag zur Diskreten Fourier-Transformation: <a href="http://de.wikipedia.org/wiki/Diskrete_Fourier-Transformation">http://de.wikipedia.org/wiki/Diskrete_Fourier-Transformation</a>
</li>
<li>
Eugenes Blog zu ASFFT: <a href="http://blog.inspirit.ru/?p=405">http://blog.inspirit.ru/?p=405</a>
</li>
<li>
Eugenes Blog zu Update von ASFFT: <a href="http://blog.inspirit.ru/?p=410">http://blog.inspirit.ru/?p=410</a>
</li>
<li>
Google Code Seite: <a href="http://code.google.com/p/in-spirit/wiki/ASFFT">http://code.google.com/p/in-spirit/wiki/ASFFT</a>
</li>
<li>
Beispiel zur Verwendung von ASFFT: <a href="http://visualizer.zeroseven.de">http://visualizer.zeroseven.de</a>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://labs.zeroseven.de/development/actionscript-development/schnelle-fourier-transformation-1d-2d-fur-actionscript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FlashForum Konferenz 2010 &#8211; Community. Code. Creativity.</title>
		<link>http://labs.zeroseven.de/development/actionscript-development/flashforum-konferenz-2010-community-code-creativity/</link>
		<comments>http://labs.zeroseven.de/development/actionscript-development/flashforum-konferenz-2010-community-code-creativity/#comments</comments>
		<pubDate>Fri, 16 Apr 2010 11:24:38 +0000</pubDate>
		<dc:creator>alexanders</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[DEVELOPMENT]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[Creativity]]></category>
		<category><![CDATA[FFK10]]></category>

		<guid isPermaLink="false">http://labs.zeroseven.de/?p=1367</guid>
		<description><![CDATA[Auch dieses Jahr hatte ich die Möglichkeit die FFK zu besuchen, nachdem ich letztes Jahr bereits dort war. Auch Jürgen war diesemal mit dabei. Zwei Tage voller Vorträge über Flash, Flex und ActionScript, aber auch über Themen die über das reine Coding hinausgehen. Also eine breitgefächerte Themenwahl, welche jeden Flasher und Flexer in gewissem Maße [...]]]></description>
			<content:encoded><![CDATA[<p>Auch dieses Jahr hatte ich die Möglichkeit die FFK zu besuchen, nachdem ich letztes Jahr bereits dort war. Auch Jürgen war diesemal mit dabei. Zwei Tage voller Vorträge über Flash, Flex und ActionScript, aber auch über Themen die über das reine Coding hinausgehen. Also eine breitgefächerte Themenwahl, welche jeden Flasher und Flexer in gewissem Maße betreffen.</p>
<p><span id="more-1367"></span></p>
<p>Um es gleich Vorweg zu nehmen: Es war der Hammer. Die Fülle an Eindrücken, von neuen Ideen, Technologien und Ansätzen war wieder immens und macht wiederum klar wie mächtig eigentlich die Flash Platform ist. Aber auch die Selbstverständlichkeit im fast schon familiären Umgang der Coder untereinander war wieder beindruckend. Wann hat man denn schon die Möglichkeit die &#8220;Größen&#8221; der Szene zu treffen und mit ihnen alltägliche Coderprobleme zu besprechen.</p>
<p>Dieser Text soll nun nur einen kleine Überblick sein, was ich an Themen mitbekommen hab in den Vorträgen. Ich denke in der nächsten Zeit werden Jürgen und ich immer mal wieder ein Thema hier von auf diesem Blog behandeln. Serge Jespers eröffnete die FFK und stellte unter anderem die Flash Platform Services vor. Interessant hier vor allem die Bereiche Distribution und Collaboration. Die ebenfalls dazugehörenden Social Services waren schon aus dem com.adobe Package bekannt.</p>
<p>Ich möchte jetzt nicht auf jeden Vortrag eingehen den ich gesehen habe. Aber ein paar Highlights für mich herauspicken. Dazu zählt unter anderm der Vortag von Michael Wacker &#8220;Mind the gaps&#8221;, der das Themas Flash Security hatte. Eine richtig gute Anregung und ein Fingerzeig für die Community, was es noch mangelt. Ganz klar mit dabei bei meinen Favoriten mit dabei Andre Michelles &#8220;Tanzen mit Krücken&#8221;. Sehr beeindruckend, vor allem interessant, dass immer mal wieder Tipps und Trick durchsickerten, wie SWFs schnelle und sicherer Laufen. Aber dies nicht nur bei ihm. Auch Saban Ünlü oder Ralph Hauwert mit seinen experimentellen Animationen, ließen hier und da immer wieder ein paar Worte dazu fallen. </p>
<p>Aber auch Bereiche wie Performance Tuning, Usability Testing, Aufbau von Software für Multitouch Devices waren Themen auf der FFK. Richtig beeindruckend, wie schon letztes Jahr, die beiden Vorträge von Joa Ebert und Mario Klingemann. Joas &#8220;Apparat&#8221; ist kurz gesagt einfach der Hammer. SWF ByteCode Optimierung um so noch mehr auf Flash rauszuholen und noch schnelle Animationen laufen lassen zu können. Der experimentelle und künstlerische Ansatz von Mario versetzt jeden Flasher immer wieder in Staunen. </p>
<p>Der für mich am interessanteste Vortrag war aber von Jens Halm: &#8220;Enterprise Applications mit dem Parsley Application Framework&#8221;. Ich hatte davor wenig gehört von Inversion of Control und der ganzen Thematik die hier vorgestellt wurde. Aber der Ansatz der Modularisierung des Codes und der Vereinfachung der Zugriffe und Abhängigkeiten, vor allem die Implementierung in Cairngorm 3 haben mich hellhörig gemacht. Ein Ansatz der Programmierung der mir sehr entgegen kommt und vor allem auch den Workflow des einzelnen und eines ganzen Teams, aber auch das Testen von Apps und Teilbereiche deren immens vereinfacht und verbessert.</p>
<p>Ich könnte jetzt so noch ewig weiter schreiben, da beide Tage voll solche Eindrücke waren. Aber wie gesagt, in nächster Zeit gibt es hier immer wieder ein paar Auszüge davon. Nur eins noch: Ich warte jetzt schon auf die FFK 2011!</p>
<p><a href="http://ffk10.flashforum.de/">http://ffk10.flashforum.de/</a><br />
<a href="http://www.adobe.com/flashplatform/services/">http://www.adobe.com/flashplatform/services/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://labs.zeroseven.de/development/actionscript-development/flashforum-konferenz-2010-community-code-creativity/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Multitouch in Flash und AIR</title>
		<link>http://labs.zeroseven.de/development/air/multitouch-in-flash-und-air/</link>
		<comments>http://labs.zeroseven.de/development/air/multitouch-in-flash-und-air/#comments</comments>
		<pubDate>Fri, 05 Feb 2010 10:05:37 +0000</pubDate>
		<dc:creator>juergenm</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[GestureEvent]]></category>
		<category><![CDATA[Multitouch]]></category>
		<category><![CDATA[TouchEvent]]></category>
		<category><![CDATA[TransformGestureEvent]]></category>

		<guid isPermaLink="false">http://labs.zeroseven.de/?p=1208</guid>
		<description><![CDATA[Seit dem 02. Februar ist Adobe AIR 2.0 beta 2 unter Adobe Labs verfügbar und bereits seit Mitte Dezember 2009 gibt es eine Betaversion des FlashPlayers 10.1. Eine der Neuerungen ist die Unterstützung von Multitouch Events. Dies eröffnet neue Wege der Interaktion und bringt ein ganz neue Benutzererfahrung die schon von dem IPhone bzw. IPodTouch [...]]]></description>
			<content:encoded><![CDATA[<p>Seit dem 02. Februar ist Adobe AIR 2.0 beta 2 unter <a href="http://labs.adobe.com/technologies/air2/">Adobe Labs</a> verfügbar und bereits seit Mitte Dezember 2009 gibt es eine <a href="http://labs.adobe.com/technologies/flashplayer10/">Betaversion des FlashPlayers 10.1</a>. Eine der Neuerungen ist die Unterstützung von Multitouch Events. Dies eröffnet neue Wege der Interaktion und bringt ein ganz neue Benutzererfahrung die schon von dem IPhone bzw. IPodTouch bekannt ist.</p>
<p><span id="more-1208"></span></p>
<p>Die Voraussetzung ist natürlich eine entsprechende Hardware. Um die Multitouchfähigkeit testen zu können ist entweder ein multitouchfähiger Touchscreen oder ein Touchpad wie zum Beispiel beim MacBook Pro erforderlich. Außerdem kommt es darauf an wie viele Touchpunkte das Eingabegerät unterstützt, von Flash Seite gib es hier keine Einschränkungen.</p>
<p>Doch wie sieht das Ganze in ActionScript aus? Die Multitouchfähigkeit basiert hauptsächlich auf folgenden Events</p>
<ul>
<li><code>flash.events.TouchEvent</code></li>
<li><code>flash.events.GestureEvent</code></li>
<li><code>flash.events.TransformGestureEvent</code></li>
</ul>
<p><strong>Multitouch Input Mode</strong><br />
Es gibt zwei Multitouch Modi <code>MultitouchInputMode.TOUCH_POINT</code> und <code>MultitouchInputMode.GESTURE</code>. Um Multitouch Events verwenden zu können, muss die statische Variable inputMode der Multitouch Klasse gesetzt werden: <code>Multitouch.inputMode = MultitouchInputMode.GESTURE;</code>. Wird der Modus &#8220;touchPoint&#8221; gewählt werden TouchEvents dispatched, wird der modus &#8220;gesture&#8221; gewählt werden GestureEvents und TransformGestureEvents dispatched. Anhand der TouchPoint Events können die verschiedenen Berührungspunkte ausgelesen und verarbeitet werden.<br />
In diesem Eintrag will ich aber auf die Gestures eingehen. Es werden die vom IPhone bekannten Gesten für zoomen, drehen und wischen (mit zwei oder drei Fingern) und der tab mit zwei Fingern unterstützt.</p>
<ul>
<li><code>TransformGestureEvent.GESTURE_ZOOM</code></li>
<li><code>TransformGestureEvent.GESTURE_ROTATE</code></li>
<li><code>TransformGestureEvent.GESTURE_PAN</code> (2 Finger)</li>
<li><code>TransformGestureEvent.GESTURE_SWIPE</code> (3 Finger)</li>
<li><code>GestureEvent.GESTURE_TWO_FINGER_TAP</code></li>
</ul>
<p><strong>Test Anwendung</strong><br />
Um die Funktionen zu testen habe ich eine einfach AIR Anwendung gemacht in der Bild über die Gesures gedreht, gezoomt, und bewegt werden kann. Mein<a href="http://labs.zeroseven.de/wp-content/uploads/2010/02/MultitouchTest.air.zip"> Test AIR App kann hier heruntergeladen</a> werden, es wird allerdings die <a href="http://labs.adobe.com/downloads/air2.html">AIR 2.0beta Runtime</a> benötigt und natürlich ein Eingabegerät das Multitouch unterstützt.</p>
<p><strong>Anwendung auf Propeller</strong><br />
Mein Kollege Alex hat gestern einen Beitrag zu seinem <a href="http://labs.zeroseven.de/development/actionscript-development/flash-experiment-rotation/">Propeller-Experiment</a> geschrieben, diesen habe ich genommen und mit Multitouchfähigkeiten ausgestattet. Über die Geste Rotation kann der Propeller rotiert werden, über zoom kann gezoomt werden und das Wischen mit 3 Fingern wechelt die Farbe. <a href="http://labs.zeroseven.de/wp-content/uploads/2010/02/MultitouchPropeller.air.zip">Hier gibts die AIR Applikation</a>, viel Spaß beim ausprobieren.</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.zeroseven.de/development/air/multitouch-in-flash-und-air/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flash Experiment &#8211; Rotation</title>
		<link>http://labs.zeroseven.de/development/actionscript-development/flash-experiment-rotation/</link>
		<comments>http://labs.zeroseven.de/development/actionscript-development/flash-experiment-rotation/#comments</comments>
		<pubDate>Thu, 04 Feb 2010 14:59:54 +0000</pubDate>
		<dc:creator>alexanders</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[DEVELOPMENT]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[BitmapData]]></category>
		<category><![CDATA[Experiment]]></category>
		<category><![CDATA[Matrix]]></category>
		<category><![CDATA[Shape]]></category>

		<guid isPermaLink="false">http://labs.zeroseven.de/?p=1200</guid>
		<description><![CDATA[Eine Rotation über den Abstand der Maus zum Zentrum. Dabei werden hier in diesem Beispiel nur zwei Shapes gezeichnet, um dann eine Animation &#38; Verzerrung über Matrix-Berechnungen und BitmapData.draw() zu realisieren:











]]></description>
			<content:encoded><![CDATA[<p>Eine Rotation über den Abstand der Maus zum Zentrum. Dabei werden hier in diesem Beispiel nur zwei Shapes gezeichnet, um dann eine Animation &amp; Verzerrung über Matrix-Berechnungen und BitmapData.draw() zu realisieren:</p>
<p><span id="more-1200"></span></p>
<p>
<object width="627" height="627">
<param name="movie" value="http://labs.zeroseven.de/wp-content/uploads/2010/02/Propeller1.swf"></param>
<param name="quality" value="high"></param>
<param name="wmode" value="opaque"></param>
<param name="menu" value="false"></param>
<param name="bgcolor" value="#000000"></param>
<embed type="application/x-shockwave-flash" width="627" height="627" src="http://labs.zeroseven.de/wp-content/uploads/2010/02/Propeller1.swf" quality="high" bgcolor="#000000" wmode="opaque" menu="false" ></embed>
</object>
</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.zeroseven.de/development/actionscript-development/flash-experiment-rotation/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Flash Experiment &#8211; Pixelhole</title>
		<link>http://labs.zeroseven.de/development/actionscript-development/flash-experiment-pixelhole/</link>
		<comments>http://labs.zeroseven.de/development/actionscript-development/flash-experiment-pixelhole/#comments</comments>
		<pubDate>Tue, 26 Jan 2010 12:49:30 +0000</pubDate>
		<dc:creator>alexanders</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[DEVELOPMENT]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Bitmap]]></category>
		<category><![CDATA[BitmapData]]></category>
		<category><![CDATA[Experiment]]></category>
		<category><![CDATA[Graphics]]></category>

		<guid isPermaLink="false">http://labs.zeroseven.de/?p=1175</guid>
		<description><![CDATA[Ein weiteres Experiment, das ein Bild auf Pixelbasis animiert. In Bezug auf die Mausposition zum jeweiligen Pixel wird eine Verschiebung generiert. Einfach klicken und ausprobieren:











]]></description>
			<content:encoded><![CDATA[<p>Ein weiteres Experiment, das ein Bild auf Pixelbasis animiert. In Bezug auf die Mausposition zum jeweiligen Pixel wird eine Verschiebung generiert. Einfach klicken und ausprobieren:</p>
<p><span id="more-1175"></span></p>
<p>
<object width="627" height="400">
<param name="movie" value="http://labs.zeroseven.de/wp-content/uploads/2010/01/PixelFlow.swf"></param>
<param name="quality" value="high"></param>
<param name="wmode" value="opaque"></param>
<param name="menu" value="false"></param>
<param name="bgcolor" value="#000000"></param>
<embed type="application/x-shockwave-flash" width="627" height="400" src="http://labs.zeroseven.de/wp-content/uploads/2010/01/PixelFlow.swf" quality="high" bgcolor="#000000" wmode="opaque" menu="false" ></embed>
</object>
</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.zeroseven.de/development/actionscript-development/flash-experiment-pixelhole/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Flash Experiment &#8211; Curving</title>
		<link>http://labs.zeroseven.de/development/actionscript-development/flash-experiment-curving/</link>
		<comments>http://labs.zeroseven.de/development/actionscript-development/flash-experiment-curving/#comments</comments>
		<pubDate>Tue, 26 Jan 2010 10:18:59 +0000</pubDate>
		<dc:creator>alexanders</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[DEVELOPMENT]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Bitmap]]></category>
		<category><![CDATA[BitmapData]]></category>
		<category><![CDATA[Experiment]]></category>
		<category><![CDATA[Graphics]]></category>

		<guid isPermaLink="false">http://labs.zeroseven.de/?p=1167</guid>
		<description><![CDATA[Ein kleines Experiment unter Verwendung eines Zusatzpackages von Lee Brimelow. Es wird alle 50 Millisekunden eine neue Linie mit zufälliger Farbe, Position und Winkel erzeugt und animiert. Um die Performance nicht ins unermessliche zu belasten, werden fertig animierte Linien auf ein BitmapData reduziert und von der DisplayList genommen.











]]></description>
			<content:encoded><![CDATA[<p>Ein kleines Experiment unter Verwendung eines Zusatzpackages von Lee Brimelow. Es wird alle 50 Millisekunden eine neue Linie mit zufälliger Farbe, Position und Winkel erzeugt und animiert. Um die Performance nicht ins unermessliche zu belasten, werden fertig animierte Linien auf ein BitmapData reduziert und von der DisplayList genommen.</p>
<p><span id="more-1167"></span></p>
<p>
<object width="627" height="600">
<param name="movie" value="http://labs.zeroseven.de/wp-content/uploads/2010/01/curves.swf"></param>
<param name="quality" value="high"></param>
<param name="wmode" value="opaque"></param>
<param name="menu" value="false"></param>
<param name="bgcolor" value="#000000"></param>
<embed type="application/x-shockwave-flash" width="627" height="600" src="http://labs.zeroseven.de/wp-content/uploads/2010/01/curves.swf" quality="high" bgcolor="#000000" wmode="opaque" menu="false" ></embed>
</object>
</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.zeroseven.de/development/actionscript-development/flash-experiment-curving/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Flash Experiment &#8211; Lines</title>
		<link>http://labs.zeroseven.de/development/actionscript-development/flash-experiment-lines/</link>
		<comments>http://labs.zeroseven.de/development/actionscript-development/flash-experiment-lines/#comments</comments>
		<pubDate>Tue, 26 Jan 2010 09:37:57 +0000</pubDate>
		<dc:creator>alexanders</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[DEVELOPMENT]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Bitmap]]></category>
		<category><![CDATA[BitmapData]]></category>
		<category><![CDATA[Experiment]]></category>
		<category><![CDATA[Graphics]]></category>

		<guid isPermaLink="false">http://labs.zeroseven.de/?p=1138</guid>
		<description><![CDATA[Ein kleines Flash-Experiment das knapp 1300 gebogene Linien mittels der Graphics Klasse zeichnet. Diese Linien werden dann aber nicht dem DisplayStack hinzugefügt, sondern  über BitmapData.draw in ein Bitmap-Objekt gezeichnet. Damit ist eine relativ performate Animation möglich.











Baut man diese Animation weiter aus, kann man die Überlagerungen und Alpha-Werte dazu nutzen, einen DisplacementMapfilter zu verwenden. Durch [...]]]></description>
			<content:encoded><![CDATA[<p>Ein kleines Flash-Experiment das knapp 1300 gebogene Linien mittels der Graphics Klasse zeichnet. Diese Linien werden dann aber nicht dem DisplayStack hinzugefügt, sondern  über BitmapData.draw in ein Bitmap-Objekt gezeichnet. Damit ist eine relativ performate Animation möglich.</p>
<p><span id="more-1138"></span></p>
<p>
<object width="627" height="627">
<param name="movie" value="http://labs.zeroseven.de/wp-content/uploads/2010/01/MagneticStyle.swf"></param>
<param name="quality" value="high"></param>
<param name="wmode" value="opaque"></param>
<param name="menu" value="false"></param>
<param name="bgcolor" value="#000000"></param>
<embed type="application/x-shockwave-flash" width="627" height="627" src="http://labs.zeroseven.de/wp-content/uploads/2010/01/MagneticStyle.swf" quality="high" bgcolor="#000000" wmode="opaque" menu="false" ></embed>
</object>
</p>
<p>Baut man diese Animation weiter aus, kann man die Überlagerungen und Alpha-Werte dazu nutzen, einen DisplacementMapfilter zu verwenden. Durch dessen Einsatz bekommt die Animation einen fluiden Eindruck.</p>
<p>
<object width="627" height="627">
<param name="movie" value="http://labs.zeroseven.de/wp-content/uploads/2010/01/lion.swf"></param>
<param name="quality" value="high"></param>
<param name="wmode" value="opaque"></param>
<param name="menu" value="false"></param>
<param name="bgcolor" value="#000000"></param>
<embed type="application/x-shockwave-flash" width="627" height="627" src="http://labs.zeroseven.de/wp-content/uploads/2010/01/lion.swf" quality="high" bgcolor="#000000" wmode="opaque" menu="false" ></embed>
</object>
</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.zeroseven.de/development/actionscript-development/flash-experiment-lines/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Flash CS5 [Viper] Preview</title>
		<link>http://labs.zeroseven.de/design/flash-cs5-viper-preview/</link>
		<comments>http://labs.zeroseven.de/design/flash-cs5-viper-preview/#comments</comments>
		<pubDate>Fri, 11 Dec 2009 07:21:21 +0000</pubDate>
		<dc:creator>alexanders</dc:creator>
				<category><![CDATA[DESIGN]]></category>
		<category><![CDATA[DEVELOPMENT]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[CS5]]></category>
		<category><![CDATA[Preview]]></category>
		<category><![CDATA[Vipder]]></category>
		<category><![CDATA[Vorschau]]></category>

		<guid isPermaLink="false">http://labs.zeroseven.de/?p=1122</guid>
		<description><![CDATA[Flash CS5 steht in den Startlöchern und die ersten Features sickern langsam durch. Auch erste Preview-Videos stehen im Netz zum Ansehen bereit. Zudem soll noch im Dezember 2009 die Beta-Version von Viper bei Adobe zum Download bereit stehen. Der endgültige Release ist zeitlich noch nicht genau definiert, soll aber im Frühjahr 2010 erscheinen. Aber jetzt [...]]]></description>
			<content:encoded><![CDATA[<p>Flash CS5 steht in den Startlöchern und die ersten Features sickern langsam durch. Auch erste Preview-Videos stehen im Netz zum Ansehen bereit. Zudem soll noch im Dezember 2009 die Beta-Version von Viper bei Adobe zum Download bereit stehen. Der endgültige Release ist zeitlich noch nicht genau definiert, soll aber im Frühjahr 2010 erscheinen. Aber jetzt ist schon ein guter Zeitpunkt mal reinzuschauen was Flash CS5 mit sich bringt:</p>
<p><span id="more-1122"></span></p>
<p><strong>Apps fürs iPhone</strong><br />
Applications fürs iPhone schreiben. Diese Info ist wohl die am meisten verbreitete über das kommende Flash. Anfangs war ich noch recht skeptisch, in wie weit dies funktioniert. Gibt es Systemzugriffsmöglichkeiten auf zum Beispiel uad den Accelerator oder die Kamera im iPhone? Lee Brimelow hat dazu ein Video gemacht, worin er einen einfachen Codingansatz zeigt. Und es zeigt ganz klar, dass eben diese Hardwarezugriffe möglich sind. Hierfür gibt es eigene Klassen, die auch funktionieren sollen für andere mobile Endgeräte die z.B. einen Accelerator eingebaut haben. Leider ist es immer noch nicht möglich, Flash-Inhalte auf Webseiten auf dem iPhone anzusehen.</p>
<p><strong>TextLayout Framework</strong><br />
Aber es gibt noch weitere Features neben dem Entwicklen von iPhone-Apps, auch wenn sie dagegen leider etwas untergehen. Zum Beispiel ist nun das TextLayout Framework in Flash CS5 integriert. Dieses Framework ist schon bereits  veröffentlicht (opensouce) und kann in Flash wie auch Flex Projekten verwendet werden. Es bietet, vor allem im Vergleich mit den bisherigen Textmöglichkeiten, unglaublich viel mehr Möglichkeiten. Hier sollen sich die Entwickler von Flash mit denen von InDesign zusammengesetzt und zusammen dieses Framework erstellt haben. Auf jeden Fall ist dieses nun mit im neuen Flash fest integriert. Eine detailierte Info hierüber ist einen eigenen Blogeintrag wert und würde hier die Grenzen überschreiten, aber Jürgen hat dazu schon was geschieben:<br />
<a href="http://labs.zeroseven.de/development/air/text-layout-framework-fur-flash-flex-und-air/">http://labs.zeroseven.de/development/air/text-layout-framework-fur-flash-flex-und-air/</a><br />
<a href="http://labs.zeroseven.de/development/flex/schriften-fur-die-neue-text-engine-des-flash-player-10-einbetten/">http://labs.zeroseven.de/development/flex/schriften-fur-die-neue-text-engine-des-flash-player-10-einbetten/</a></p>
<p><strong>Coding</strong><br />
Bisher war es sehr umständlich in Flash direkt zu programmieren. Dies wird besonders auffällig, wenn man das bisherige Actions-Panel mit zum Beispiel Eclipse vergleicht. In Flash gibt es kein ordentliches Codehinting oder so unterstützende Features wie automatisches Erstellen von Klassen-Imports oder Snippets gibt es einfach nicht. Das hat den eigentlichen Programmieraufwand innerhalb von Flash extrem nach oben geschraubt. Im Video von Lee Brimelow zum iPhone, sieht man aber auch schon diese neuen Features von CS5. Imports und Snippets sind nun integriert. Auch werden Codehints für eigene Klassen dargestellt.</p>
<p><strong>FlashBuilder Integration</strong><br />
Auch dieses Feature ist besonderns für Coder interessant. Wie gesagt, soll das Actions-Panel verbessert werden und das ist ja schon mal nicht schlecht. Es bleibt aber eine Panel und kann nicht Eclipse oder das darauf basierende FlashBuilder-Tool ersetzeb. Auch dies haben die Entwickler von Adobe erkannt und bieten eine Integration von FlashBuilder als ActionScript-Editor an.</p>
<p>Das waren jetzt meiner Meinung nach die ersten und auch wichtigsten Features zum neuen Flash CS5. Sicherlich kommen noch einige dazu. Aber es ist schon abzusehen, dass die diesmalige Weiterenticklung sehr stark zu Gunsten von Coding ausfallen wird.</p>
<p>Weitere Infos zum Thema:</p>
<p>Twitter zu Flash: <a href="http://twitter.com/adobeflash">http://twitter.com/adobeflash</a><br />
Facebook-Seite zu Flash: <a href="http://www.facebook.com/flashplatform">http://www.facebook.com/flashplatform</a><br />
Adobe Labs Flash CS5: <a href="http://labs.adobe.com/technologies/flashcs5/appsfor_iphone/">http://labs.adobe.com/technologies/flashcs5/appsfor_iphone/</a><br />
Lee Brimelow iPhone-App Preview: <a href="http://theflashblog.com/?cat=50">http://theflashblog.com/?cat=50</a><br />
TextLayout Framework: <a href="http://opensource.adobe.com/wiki/display/tlf/Text+Layout+Framework">http://opensource.adobe.com/wiki/display/tlf/Text+Layout+Framework</a></p>
<p><em>Nachtrag:</em><br />
Wie ich gerade gelesen habe, wurde die Beta-Version des neuen Flash CS5 abgesagt. Aus Gründen der Stabilität laut Adobe. Eine etwas detailiertere Nachricht hat Lee Brimelow auf seinem Blog: <a href="http://theflashblog.com/?p=1546">http://theflashblog.com/?p=1546</a>. Nun bleibt zu hoffen, dass wenigstens der Realease von Flash CS5 wie angekündigt bestehen bleibt.</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.zeroseven.de/design/flash-cs5-viper-preview/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Farben in ActionScript</title>
		<link>http://labs.zeroseven.de/development/actionscript-development/farben-in-actionscript/</link>
		<comments>http://labs.zeroseven.de/development/actionscript-development/farben-in-actionscript/#comments</comments>
		<pubDate>Fri, 14 Aug 2009 06:37:22 +0000</pubDate>
		<dc:creator>alexanders</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[DEVELOPMENT]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[ActionScript 3]]></category>
		<category><![CDATA[bitwise]]></category>
		<category><![CDATA[color]]></category>
		<category><![CDATA[farbe]]></category>

		<guid isPermaLink="false">http://labs.zeroseven.de/?p=1078</guid>
		<description><![CDATA[Neben der weitgehenden Browserunabhängigkeit bietet ein SWF dem Entwickler auch die Möglichkeit, Umgebungen zu schaffen die den User zu begeistern. Der Weg dorthin ist vielfältig. So sind, im Vergleich zu HTML, die freie Schriftwahl, einfach zu erstellende Animationen oder die Integration verschiedenster Medien wichtige Bestandteile davon. Aber auch der richtige Umgang mit Farben ist ungemein [...]]]></description>
			<content:encoded><![CDATA[<p>Neben der weitgehenden Browserunabhängigkeit bietet ein SWF dem Entwickler auch die Möglichkeit, Umgebungen zu schaffen die den User zu begeistern. Der Weg dorthin ist vielfältig. So sind, im Vergleich zu HTML, die freie Schriftwahl, einfach zu erstellende Animationen oder die Integration verschiedenster Medien wichtige Bestandteile davon. Aber auch der richtige Umgang mit Farben ist ungemein wichtig.</p>
<p><span id="more-1078"></span></p>
<p>Farbe ist in ActionScript nicht nur einfach eine bunte Fläche. Das ist was der User am Bildschirm sieht. Jede Farbe ist letztlich ein HEX-Code. So lässt sich weiß zum Beispiel mit 0xFFFFFF aus drücken oder wenn eine Alphakanal dabei sein soll eben 0xFFFFFFFF.</p>
<p>Beschränken wir uns aber zunächst auf den RGB-Raum ohne Alphakanal. Jeder Farbkanal umfasst einen Bereich von 0 (0&#215;00) bis 255 (0xFF), oder binär ausgedrückt 0 bis 11111111. Durch diese Definition kommen die fast 16,6 Millionen Farben zusammen, denn 255 * 255 * 255 ergibt eben fast 16,6 Millionen. Und mit 16 Millionen Farben lässt sich wirklich einiges Anfangen.</p>
<p>Zu beachten ist aber, bevor man anfängt mit Farben zu rechnen, dass Farben im 16er-System definiert sind und nicht, wie der normale Mensche rechnet, im 10er-System. Um die Farben ausgeben zu können ist es daher notwändig anzugeben in welchen Zahlensystem. Gibt man den Farbwert einfach über einen trace aus, schreibt der FlashPlayer den Wert im 10er-System. Will man aber eine hexadezimale oder binäre Ausgabe, muss man die toString-Methode nutzen, wobei hier als Parameter das System angegeben werden kann (z.B. 16 für hexadezimal).</p>
<p>Will man die einzelnen Känale getrennt von einander bearbeiten, muss die Farbwert zerlegt werden. Dafür werden bitweise Operatoren benötigt. Will man nun den Wert für den grünen Kanal auslesen sieht das Script dazu wie folgt aus:</p>
<p><code>var baseColor:uint = 0x4598FF;<br />
var green:unit = (baseColor &amp; 0x00FF00) &gt;&gt; 8;<br />
trace (green.toString(16)); // 0x98</code></p>
<p>Um das kurz zu erklären: Zunächst nimmt man die Ausgangsfarbe und entfernt alle Farbwerte, außer die grünen, durch den logischen AND-Operator (&amp;). And ist so definiert, dass, nur wenn beide miteinander zu &#8220;verundende&#8221; Bits den Wert 1 haben, das Ergebnis 1 zurückgegeben wird. Deswegen gibt diese Rechnung nur die grünen Werte zurück. Anschließend werden die Bits noch um 8 Stellen nach rechts verschoben, damit die grünen Werte am Ende stehen. Diese Prozedur ist für alle anderen Farbbereiche die selbe.</p>
<p>Hat man nun alle seine Berechnung durchgeführt und will die einzelnen Känale wieder zusammensetzen geschieht auch dies wieder mit bitweisen Operatoren:</p>
<p><code>var color:uint = alpha &lt;&lt; 24 | red &lt;&lt; 16 | green &lt;&lt; 8 | blue;</code></p>
<p>Hier nimmt man die Werte für die einzelnen Känale schiebt sie soweit, wie eben eine ARBG oder RGB Farbe definiert ist und &#8220;verodert&#8221; die einzelnen Werte. Das logische oder sagt aus, dass sobald eines der beiden zu vergleichenden Bits 1 ist, das Ergebnis 1 zurück gegeben wird. Wie die einzelnen nun Farben berechnet werden, ist jedem Entwickler freigestellt. Nur eben die oben gezeigt Basics müssen beachtet werden, dmait die richtigen Farben zu sehen sind.</p>
<p>Aber nicht alles muss berechnet werden. So bietet die TweenMax-Bibliothek auch schon die Möglichkeit Farbtweens zu scripten:<br />
<code><br />
TweenMax.to(colors, 0.15, {hexColors:{targetColor}, onUpdate:updateColorizedObject});</code></p>
<p>Hier ist colors ein Object das einen oder möglicherweise mehrere Farbwerte einhält. TweenMax macht dann einen Tween über die Farbe. Dabei werden Update-Events dispatched und im Handler lässt sich der aktuelle Farbewert aus colors wiederum auslesen.</p>
<p>Auch ein interessante Ansatz Farben zu verändern ist der ColorMatrixFilter. Dieser ist als 4&#215;5 Matrix definiert und ist ein BitmapFilter. Mit Hilfe dieser Matrix lässt sich aber nicht nur die Farbe verändern sondern auch die Sättigung und die Luminanz. Anwendbar ist dieser filter auf jedes DisplayObject.<br />
Weiter auf diese Klasse einzugehen ist aber wiederum ein eigener Blogeintrag wert.</p>
<p><a href="http://blog.greensock.com/tweenmaxas3/">http://blog.greensock.com/tweenmaxas3/</a><br />
<a href="http://www.adobe.com/devnet/flash/articles/bitwise_operators_03.html">http://www.adobe.com/devnet/flash/articles/bitwise_operators_03.html</a><br />
<a href="http://help.adobe.com/de_DE/AS3LCR/Flash_10.0/flash/filters/ColorMatrixFilter.html">http://help.adobe.com/de_DE/AS3LCR/Flash_10.0/flash/filters/ColorMatrixFilter.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://labs.zeroseven.de/development/actionscript-development/farben-in-actionscript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Aus Flash &amp; Flex generierte PDFs</title>
		<link>http://labs.zeroseven.de/development/actionscript-development/aus-flash-flex-generierte-pdfs/</link>
		<comments>http://labs.zeroseven.de/development/actionscript-development/aus-flash-flex-generierte-pdfs/#comments</comments>
		<pubDate>Fri, 07 Aug 2009 06:15:34 +0000</pubDate>
		<dc:creator>alexanders</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[erzeugen]]></category>
		<category><![CDATA[generieren]]></category>
		<category><![CDATA[PDF]]></category>

		<guid isPermaLink="false">http://labs.zeroseven.de/?p=1070</guid>
		<description><![CDATA[Oft ist es doch so, dass innerhalb einer Flash oder Flex Applikation PDFs zum download angeboten werden sollen. Sind diese fest auf dem Server hinterlegt, ist dies kein Problem. Einen Link darauf setzen und das Problem ist gelöst. Doch was nun, wenn die Inhalte aus dem SWF dazu dienen sollen, das PDF zu erzeugen. Dann [...]]]></description>
			<content:encoded><![CDATA[<p>Oft ist es doch so, dass innerhalb einer Flash oder Flex Applikation PDFs zum download angeboten werden sollen. Sind diese fest auf dem Server hinterlegt, ist dies kein Problem. Einen Link darauf setzen und das Problem ist gelöst. Doch was nun, wenn die Inhalte aus dem SWF dazu dienen sollen, das PDF zu erzeugen. Dann wird es schon interessanter.</p>
<p><span id="more-1070"></span></p>
<p>Ohne eine serverseitige Programmierung geht hier nichts. Zum Beispiel Java oder PHP müssen zur Hilfe genommen werden. Ärgerlich und vor allem umständlich wenn es darum geht, das PDF und die auf dem Screen enthaltenen Inhalte zu synchronisieren. Es muss hier nun überlegt werden, welche Informationen sende ich wie an den Server, um das Ergebnis zu reproduzieren, welches clientseitig eigentlich schon da ist. Wie gesagt sehr umständlich.</p>
<p>Thibault Imbert hat hier einen Ansatz geschaffen, der es Flash und Flex Entwicklern ermöglicht, PDFs clientseitig zu generieren. Nur ein kleines PHP Script ist noch nötig, um das PDF fertig zu stellen. Dieses ist im Package schon enthalten und fertig zum nutzen. AlivePDF heißt dieses Package und ist, was die Entwicklergemeinde freut, open source. Und die Handhabung des ganzen ist denkbar einfach.</p>
<p><code>var pdf:PDF = new PDF(orientation:String, unit:String, pageSize:Object=null, rotation:int=0);</code></p>
<p>Mit dieser Zeile ist das Grundgerüst der PDF schon erstellt, wobei <em>orientation</em> Hoch- oder Querformat definiert, unit das Maß in dem das PDF angelegt wird (Pixel, mm, ..), <em>pageSize</em> definiert die Seitengrößen (A4, A3, usw.) und letztlich <em>rotation</em> die Drehung der Inhalte als letzten Parameter. Für die ersten drei gibt es Klassen mit statischen Variablen zur Definition. Interessant ist hier die Size-Klasse, die sich recht leicht um weitere Seitengrößen erweitern lässt.</p>
<p><code>pdf.setDisplayMode (zoom:String = "FullWidth", layout:String = "SinglePage", mode:String = "UseNone"); </code></p>
<p>Hiermit lässt sich definieren wie die Seite selbst dargestellt werden soll. Mit <em>zoom</em> zum Beispiel ist die Vergößerung der Anzeige definiert oder mit <em>layout</em> das Layout des Dokumentes selbst. Einfache Seite, eine Spalte oder zwei Spalten links sind mögliche Parameter.</p>
<p><code>pdf.addPage(page:Page = null);</code></p>
<p>Hiermit wird eine Seite im PDF hinzugefügt, der dann schlussendlich die Inhalte hinzugefügt werden. Als Parameter ist es möglich ein Page-Objekt mitzugeben, welches wiederum andere Größen- und Formatausrichtungen haben kann, als das PDF selbst. Damit können im PDF auch unterschiedliche Seitengrößen erzeugt werden, je nach dem was gerade benötigt wird.</p>
<p>Nun ist die erste Seite erzeugt und lässt sich mit Inhalten befüllen. Dabei gibt es Funktionen zur allgemeinen Seitendefinition (z.B. <em>setRightMargin</em>) oder eben um Inhalte einzufügen. Dabei können Grafikobjekte wie Kreise, Flächen oder Pfade erzeugt werden, wobei hier die sehr große Ähnlichkeit zu den Graphics-Funktionen den Workflow von vorne herein einfach gestalten. Aber auch Texte oder Bilder können eingefügt werden. Aber auf all diese Funktionen nun einzugehen, würde jeden Rahmen sprengen.</p>
<p>Um nun aus dem PDF-Objekt ein richtiges PDF zu machen, wird nun das create.php aus dem Package benötigt. An diese sendet man den erzeugten ByteCode und das php-File sagt dem ByteStream: &#8220;Du bist ein PDF und jetzt kann man dich runterladen.&#8221; Das war es auch schon. Wie gesagt sehr einfach gehalten.</p>
<p>Um es kurz zusammen zu fassen, es gibt eine unglaubliche Masse an Funktionen und Einstellungsmöglichkeiten, dabei handelt es sich bei der aktuellen Version von AlivePDF um eine Alpha-Version und bisher ist mir noch kein Fehler untergekommen. Also hat Thibault ganze Arbeit geleistet! Vieles ist noch immer etwas experimentell, da die Dokumentation noch nicht sehr weit gediehen ist, aber bei einer Alpha Version ist dies glaub zu verkraften. Insgesamt also schon jetzt ein sehr gelungenes Werk.</p>
<p>Noch ein paar Links zum Thema:<br />
<a href="http://www.alivepdf.org/">www.alivepdf.org</a><br />
<a href="http://alivepdf.bytearray.org/alivepdf-asdoc/">Dokumentation</a><br />
<a href="http://code.google.com/p/alivepdf/">Download</a></p>
<p>Und drei kleine Videotutorials:<br />
<a href="http://alivepdf.bytearray.org/wp-content/tutorials/alivepdf-tutorial-getting-started.swf">Getting Started</a><br />
<a href="http://alivepdf.bytearray.org/wp-content/tutorials/alivepdf-tutorial-flex-application.swf">Flex &amp; AlivePDF</a><br />
<a href="http://tv.adobe.com/#vi+f1472v1017">Introduction on Adobe TV</a></p>
]]></content:encoded>
			<wfw:commentRss>http://labs.zeroseven.de/development/actionscript-development/aus-flash-flex-generierte-pdfs/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
