In mc geladenes Bild lokal speichern [AIR 2]
| Beiträge: 7 Registriert: Jan 2008
| 11.01.2015, 18:56
Hallo liebe Flashergemeinde,
Folgende Situation :
Ich laß mir alle 5 Minuten ein neues Bild einer WebCam anzeigen.
Über getPixel bestimme ich, ob es Tag oder Nacht ist.
Sofern es Nacht (dunkel) ist, möchte ich ein Bild vom Tag anzeigen,
bzw. einen Film ( Zeitraffer ) des letzten Tags anzeigen lassen.
Dazu möchte ich die in den mc geladenen Bilder in einen Ordner (...user/WebCam) abspeichern.
Die Frage ist jedoch WIE mache ich das ?
Die Funktion ist bereits vorbereitet, der Name des Bildes wird übergeben.
ActionScript:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | import fl.transitions.Tween;
import fl.transitions.TweenEvent;
import fl.transitions.easing.*;
import flash.filesystem.File;
import flash.events.Event;
var date:Date = new Date();
var std:int = date.hours;
var min:int = date.minutes;
var sec:int = date.seconds;
var fadeSpeed:int = 4;//4 sek
var tween:Tween;
var bitmapHolder2:Array = new Array();
var loaderCam:Loader = new Loader();
//------------------------------------------------------------
function zweistellig(w:String):String{
var hs:String = w.toString();
if(hs.length == 1){ hs = "0"+hs };
return(hs)
}
//------------------------------------------------------------
function SavePicAs (s:String):void{
var directory:File = File.userDirectory.resolvePath("WebCam");
var Bildname:String = directory.nativePath + "\\" +s + ".jpg"
trace(Bildname);
}
//------------------------------------------------------------
function onLoadImageCompleteCam( e:Event ):void { // Das neue Bild wurde geladen
var h_d:String;
var bmpData:BitmapData;
var bitmap2:Bitmap = e.currentTarget.content as Bitmap;
bitmap2.alpha = 0;
Cam.CamAnzeige.CamAnz2.addChild( bitmap2 );
bitmapHolder2.push( bitmap2 );
tween = new Tween( bitmap2, "alpha", Strong.easeOut, bitmap2.alpha, 1, fadeSpeed, true );
bitmap2 = Bitmap(loaderCam.content); // as Bitmap;
bmpData = bitmap2.bitmapData;
var pixelValue:uint = bmpData.getPixel(154, 154);
if(pixelValue < 3355444){ h_d = "d_" } // Es wird / ist dunkel
else{ h_d = "h_" } // Es wird / ist hell
SavePicAs ( h_d + zweistellig(std.toString()) + "_" + zweistellig(min.toString()) + "_" + zweistellig(sec.toString()) );
}
//------------------------------------------------------------
loaderCam.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoadImageCompleteCam); // Komplett geladen
//loaderCam.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,progressHandler); // Prozent geladen
//loaderCam.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); // Datei nicht gefunden
loaderCam.load(new URLRequest("http://XXX.jpg"+"?"+new Date().getTime()));
Cam.CamAnzeige.addChild(loaderCam); // Datei in mc Cam.CamAnzeige laden...
|
Es geht ausschließlich um den Speichervorgang des jpg-Bildes !
Mein Letzter Versuch sah so aus:
ActionScript:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | function SavePicAs (s:String):void{
var sourceFile:File = new File("http://www.XXX.de/XXX.jpg")
var destination:File = File.userDirectory.resolvePath("HotelDaten/WebCam"+ "/" + s + ".jpg");
var destinationParent:File = destination.parent;
destinationParent.createDirectory();
try
{
sourceFile.copyTo(destination, true);
}
catch (error:Error)
{
trace("Error:", error.message);
}
trace("gespeichert wird das Bild '"+destination.nativePath+"'");
}
|
Ich hoffe auf Eure Hilfe und bedanke mich bereits im vorraus. | Geändert von Herzenslicht am 11.01.15 um 18:58 Uhr | |
|
| Ähnliche Beiträge zum Thema | 15.04.2021 - hansi24 |
|
Flashhilfe.de Flash Platform Tipps & Tutorials Flash Platform Andere Programmiersprachen Jobangebote Diskussionen
Flashhilfe News
Regeln & Bedingungen
|