martes, 13 de septiembre de 2011

Cómo leer el portapapeles de la computadora y grabarlo en un archivo con AIR

En muchas aplicaciones de escritorio nos sería de utilidad leer el portapapeles de la computadora para transmitir información (texto o imágenes) de otras aplicaciones. Para ello hay que importar las clases relacionadas, como son:

    import flash.desktop.Clipboard;
    import flash.desktop.ClipboardFormats;
    import flash.desktop.NativeDragManager;
    import flash.desktop.ClipboardTransferMode;
    import flash.events.NativeDragEvent;

Supongamos que desea grabar la informacion del clipboard en un archivo. Podría servirle una función como la siguiente:

            if(Clipboard.generalClipboard.getData( ClipboardFormats.BITMAP_FORMAT)!=null){
                var bm:Bitmap = new Bitmap(Clipboard.generalClipboard.getData( ClipboardFormats.BITMAP_FORMAT) as BitmapData)
                var f:File = new File("salida.jpg");
                var fs:FileStream = new FileStream();
                var jpgEncoder:JPGEncoder=new JPGEncoder(100);
                var jpgStream:ByteArray=jpgEncoder.encode(bm.bitmapData);
                try {
                    fs.open(f,FileMode.WRITE);
                    fs.writeBytes(jpgStream);
                    fs.close();
                } catch (e:Error) {
                    trace(e.message);
                }
            }

Hay que importar las clases para el manejo de archivos y de imágenes, como son:


    import flash.display.Bitmap;
    import flash.display.BitmapData;
    import com.adobe.images.JPGEncoder;
    import flash.utils.ByteArray;
    import flash.filesystem.FileStream;
    import flash.filesystem.FileMode;

No hay comentarios:

Publicar un comentario