| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| TotalBeginner Registriert seit: Jun 2009
Beiträge: 3
|
Hallo Flasher ! ich hoffe einer von euch kann mir weiter helfen...? Ich habe mich die letzten Jahre schwerpunktmäßig in 3D entwickelt, weshalb ich den AS3-Hype quasi verpasst habe Habe Folgende Herausforderung: Ich möchte eine Offline-Presentation (auf CD) als Projektor erstellen, mit der Funktion das dynamisch geladene Bilder (per XML) aus der Flash-Gallerie abzuspeichern aber auch zu Drucken. Dies ist mir als Basis gelungen, da ich aber Quer- und Hochformatbilder habe speichert mir die Scriptversion bei Hochformat den zusätlichen "Space" links und rechts vom MC mit ab: also ein Screenshot so zu sagen. Genauso verhält es sich bei Printjob. Gibt es überhaupt die möglichkeit in Flash diese Bilder "nativ" zu händeln, oder noch besser: Sich an die Originale Bilddaten zu orientieren/ aufzurufen zum abspeichern und drucken? Hier die AS: Code: import com.flashotaku.slideshow.events.SlideshowEvent;
import flash.events.MouseEvent;
import flash.utils.Timer;
import flash.events.TimerEvent;
var myTimer:Timer = new Timer(1500);
var urlRequest:URLRequest = new URLRequest("images1.xml");
var urlLoader:URLLoader = new URLLoader(urlRequest);
var total:int;
urlLoader.addEventListener(Event.COMPLETE, onXmlComplete);
function onXmlComplete(event:Event)
{
var xmlList:XMLList;
var xml:XML = new XML(event.target.data);
total = xml.children().length();
}
mySlideshow.addEventListener(SlideshowEvent.SLIDE_INIT, slideInitHandler);
function slideInitHandler(event:SlideshowEvent)
{
dText.text = (event.slide.id +1) + " / " + total;
}
start.addEventListener(MouseEvent.CLICK, startHandler);
pause.addEventListener(MouseEvent.CLICK, pauseHandler);
prev.addEventListener(MouseEvent.CLICK, prevHandler);
next.addEventListener(MouseEvent.CLICK, nextHandler);
function startHandler(event:MouseEvent)
{
if(!myTimer.hasEventListener(TimerEvent.TIMER))
{
myTimer.addEventListener(TimerEvent.TIMER, timerHandler);
myTimer.start();
}
}
function timerHandler(event:TimerEvent)
{
myTimer.stop();
myTimer.removeEventListener(TimerEvent.TIMER, timerHandler);
mySlideshow.nextImage();
if(!mySlideshow.hasEventListener(SlideshowEvent.TRANSITION_COMPLETE))
{
mySlideshow.addEventListener(SlideshowEvent.TRANSITION_COMPLETE, completeHandler);
}
}
function completeHandler(event:SlideshowEvent)
{
myTimer.addEventListener(TimerEvent.TIMER, timerHandler);
myTimer.start();
}
function pauseHandler(event:MouseEvent)
{
stopTimer();
}
function prevHandler(event:MouseEvent)
{
stopTimer();
mySlideshow.prevImage();
}
function nextHandler(event:MouseEvent)
{
stopTimer();
mySlideshow.nextImage();
}
function stopTimer()
{
if(myTimer.hasEventListener(TimerEvent.TIMER))
{
myTimer.stop();
myTimer.removeEventListener(TimerEvent.TIMER, timerHandler);
}
if(mySlideshow.hasEventListener(SlideshowEvent.TRANSITION_COMPLETE))
{
myTimer.stop();
mySlideshow.removeEventListener(SlideshowEvent.TRANSITION_COMPLETE, completeHandler);
}
}
//////////////////////////////////////
// Flash File saving and image encoding example.
// www.permadi.com
// (C) F. Permadi
//////////////////////////////////////
// You can get the latest JPGEncoder from here:
// http://github.com/mikechambers/as3corelib/tree/master/src/com/adobe/images/
import com.adobe.images.JPGEncoder;
import com.adobe.images.PNGEncoder;
function onSavePictureButtonClicked(event:MouseEvent):void
{
var bitmapData:BitmapData = new BitmapData(mySlideshow.width, mySlideshow.height);
bitmapData.draw(mySlideshow, this.transform.matrix, null, null, null, true);
var jpgEncoder:JPGEncoder = new JPGEncoder(quality_slider.value);
var byteArray:ByteArray = jpgEncoder.encode(bitmapData);
byteArray = PNGEncoder.encode(bitmapData);
var fileReference:FileReference=new FileReference();
fileReference.save(ByteArray, "Bild.jpg");
}
// Initialize jpeg quality
quality_slider.minimum=0;
quality_slider.maximum=100;
quality_slider.value=100;
///////////////////////////
// DRAWING CODE BEGIN
///////////////////////////
/// omitted
///////////////////////////
// DRAWING CODE END
///////////////////////////
// Add button handler
btn_save.addEventListener(MouseEvent.CLICK, onSavePictureButtonClicked);
// Add Print handler
//File downloaded from www.riacodes.com
print_btn.addEventListener(MouseEvent.CLICK,printContent);
function printContent(evt:MouseEvent) {
var printJob:PrintJob = new PrintJob();
if (printJob.start()) {
if (mySlideshow.width>printJob.pageWidth) {
mySlideshow.width=printJob.pageWidth;
mySlideshow.scaleY=mySlideshow.scaleX;
}
printJob.addPage(mySlideshow);
printJob.send();
/* Delete job from memory */
printJob = null;
}
} |
| | |
| | #2 (permalink) |
| Neuer User Registriert seit: Apr 2002
Beiträge: 496
|
hab jetzt nur ganz kurz drübergeschaut - aber das gepostete skript verrät nicht viel über die struktur von mcSlideshow - und hier dürfte das problem liegen, denn das gespeicherte bitmap bildet diesen movieclip komplett ab du kannst natürlich auch die BitmapData des Loaders direkt wieder encoden und speichern (verstehe den zweck noch nicht ganz , aber macht ja nix )
__________________ Grafik - Webdesign - Programmierung - www.thsc.at Adventkalender 2011 advent.wien.info/de Jobspace - Universum der Lehrstellen www.jobspace.at |
| | |
| | #3 (permalink) |
| TotalBeginner Registriert seit: Jun 2009
Beiträge: 3
|
Hallo Padavan, die Flash-Gallerie ist von "Flashotaku", der es freundlicherweise in seinem Blog zur verfügung gestellt hat. Falls Du dir das mal ansehen möchtest, hier zunächst mal die FLA, im zweiten Post den Rest der Datei: |
| | |
| | #4 (permalink) |
| Neuer User Registriert seit: Apr 2002
Beiträge: 496
|
ich hab dazu jetzt nicht die muse - sry aber du weißt wo du ansetzen musst - und vielleicht mag sich's ja wer anderer anschauen noch ein hinweis - es wird in der slideshow irgendwo einen container oder verweis auf die bilddaten geben - den musst du verwenden
__________________ Grafik - Webdesign - Programmierung - www.thsc.at Adventkalender 2011 advent.wien.info/de Jobspace - Universum der Lehrstellen www.jobspace.at |
| | |
![]() |
| Lesezeichen |
| Stichworte |
| as3, bitmapdata, filereference, printjob, xml gallery |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| new FileReference(); | thiagojonas | ActionScript 3 | 2 | 05-07-2009 19:05 |
| Bitmap Alpha in Bitmap kopieren | LePeng | ActionScript 3 | 1 | 04-03-2008 13:52 |
| Bitmap zu Bitmap nach Farben kopieren? | Sven_TK | Flash 8 | 4 | 15-02-2008 19:14 |
| FileReference und asp.net | Linowitch | Flash 8 | 2 | 27-06-2007 12:58 |
| Transparentes Bitmap mit copyPixel in anders Bitmap kopieren | erbsenknie | ActionScript 3 | 4 | 30-01-2007 14:13 |