| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- package com.imt.intimamedia.commands.acquire
- {
- import com.adobe.cairngorm.control.CairngormEvent;
- import com.imt.flex.cairngormExtended.command.SuperCommand;
- import com.imt.flex.cairngormExtended.event.ChainEvent;
- import com.imt.intimamedia.business.AcquisitionDelegate;
- import com.imt.intimamedia.events.acquire.SaveImageEvent;
- import com.imt.intimamedia.model.ApplicationModelLocator;
- import com.imt.intimamedia.views.common.ImtToaster;
- import com.imt.intimamedia.views.physician.acquire.AcquireView;
- import com.imt.intimamedia.vo.DragAndDropVo;
-
- import flash.display.Bitmap;
- import flash.display.BitmapData;
- import flash.geom.Matrix;
- import flash.utils.ByteArray;
-
- import mx.controls.Alert;
- import mx.graphics.codec.JPEGEncoder;
- import mx.resources.ResourceManager;
- import mx.rpc.events.FaultEvent;
- import mx.rpc.events.ResultEvent;
-
- /**
- * Commande de sauvegarde des images
- */
- public class SaveImageCommand extends SuperCommand
- {
- [Bindable]
- private var _model : ApplicationModelLocator = ApplicationModelLocator.getInstance();
-
- private var _dispatcher : AcquireView;
-
- /**
- * Execution de la commande
- *
- * @param event Evénement de type CairngormEvent
- * @return void
- */
- override public function execute( event : CairngormEvent ) : void
- {
- super.execute( event );
-
- var delegate : AcquisitionDelegate = new AcquisitionDelegate( this );
-
- var saveImageEvent : SaveImageEvent = SaveImageEvent( event );
-
- var img : Bitmap = saveImageEvent.dragAndDropVo.imageHigh;
- var jpg : JPEGEncoder = new JPEGEncoder();
- var bitmapDataHigh : BitmapData = new BitmapData(saveImageEvent.dragAndDropVo.imageHigh.width,saveImageEvent.dragAndDropVo.imageHigh.height);
- bitmapDataHigh.draw(saveImageEvent.dragAndDropVo.imageHigh,new Matrix());
- var byteArrayHigh : ByteArray = jpg.encode( bitmapDataHigh );
- var bitmapDataLow : BitmapData = new BitmapData(saveImageEvent.dragAndDropVo.imageSmall.width,saveImageEvent.dragAndDropVo.imageSmall.height);
-
- // CJ 04092015 : Refonte de Resize
- var mat:Matrix = new Matrix();
- mat.scale(saveImageEvent.dragAndDropVo.imageSmall.width/saveImageEvent.dragAndDropVo.imageHigh.width, saveImageEvent.dragAndDropVo.imageSmall.height/saveImageEvent.dragAndDropVo.imageHigh.height);
- bitmapDataLow.draw(saveImageEvent.dragAndDropVo.imageHigh, mat, null, null, null, true);
-
- // Avant
- // bitmapDataLow.draw(saveImageEvent.dragAndDropVo.imageSmall,new Matrix());
-
- var byteArrayLow : ByteArray = jpg.encode( bitmapDataLow );
-
- // Alert.show("Largeur Image : " + saveImageEvent.dragAndDropVo.imageHigh.width.toString() + "Hauteur Image : " + saveImageEvent.dragAndDropVo.imageHigh.height.toString());
-
- delegate.saveImage( saveImageEvent.dragAndDropVo, saveImageEvent.appointment, byteArrayHigh, byteArrayLow );
-
- _dispatcher = this.getDispatcher(this);
- }
-
- /**
- * Résultat de la commande
- *
- * @param result Un objet
- * @return void
- */
- override public function result( result : Object ) : void
- {
- var resultEvent : ResultEvent = ResultEvent( result );
-
- _dispatcher.loadingPopUp.message = ResourceManager.getInstance().getString( "labels", "acquire.popUp.transfert.images.done");
- _dispatcher.loadingPopUp.progress.setProgress( 80, 100 );
-
- _dispatcher.saveImageEnded(result.result as int);
-
- super.result( result );
- }
-
- /**
- * Résultat de la commande
- *
- * @param result Un objet
- * @return void
- */
- override public function fault( fault : Object ) : void
- {
- super.fault( fault );
-
- _dispatcher.removeImageFromError();
-
- if (( fault as FaultEvent ).fault.faultString == ApplicationModelLocator.getInstance().ERROR_SESSION )
- {
- ApplicationModelLocator.displaySessionExpired( fault as FaultEvent );
- }
- else
- {
-
- var toastMessage : ImtToaster = new ImtToaster();
-
- toastMessage.titleMessage = ResourceManager.getInstance().getString('labels', 'error.title');
- toastMessage.message = ResourceManager.getInstance().getString('labels', 'error.saveImage');
- toastMessage.level = ImtToaster.ERROR;
-
- _model.toaster.toast( toastMessage );
- }
- }
- }
- }
|