Je suis très débutant en flash. Je veux charger une image, montrer un curseur sur l'image et sur mousedown je veux brouiller cette partie réelle de l'image. (Par exemple, vous pouvez flouter votre visage sur l'image, puis enregistrer la nouvelle image).Flash AS3 brouiller ou liquéfier une partie d'une image avec la souris
je peux supprimer des parties de l'image avec la ligne blanche, mais je voudrais rendre floue la place
// LIVE JPEG ENCODER 0.3
// from bytearray.org
import asfiles.encoding.JPEGEncoder;
import flash.external.ExternalInterface;
ExternalInterface.addCallback("flash_saveImage", inflash_saveImage);
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, handleComplete);
loader.load(new URLRequest(loaderInfo.parameters._filename));
//loader.load(new URLRequest("b.jpg"));
var container_mc:MovieClip = new MovieClip;//create movieclip
function handleComplete(e:Event):void
{
addChild(container_mc);
var bitmapData:BitmapData = Bitmap(e.target.content).bitmapData;
var matrix:Matrix = new Matrix();
container_mc.graphics.clear();
container_mc.graphics.beginBitmapFill(bitmapData, matrix, false);
//container_mc.graphics.beginFill(0xFFFFFF,0);
container_mc.graphics.drawRect(0, 0, bitmapData.width, bitmapData.height);
container_mc.graphics.endFill();
swapChildren(container_mc, pencil);
container_mc.addEventListener(MouseEvent.MOUSE_DOWN, startDrawing);
container_mc.addEventListener(MouseEvent.MOUSE_UP, stopDrawing);
container_mc.addEventListener(MouseEvent.MOUSE_MOVE, makeLine);
}
stage.addEventListener(MouseEvent.MOUSE_MOVE, moveCursor);
Mouse.hide();
function moveCursor(event:MouseEvent):void
{
pencil.x = event.stageX;
pencil.y = event.stageY;
}
function startDrawing(event:MouseEvent):void{
container_mc.graphics.lineStyle(20, 0xFFFFFF, 1);
container_mc.graphics.moveTo(mouseX, mouseY);
container_mc.addEventListener(MouseEvent.MOUSE_MOVE, makeLine);
}
function stopDrawing(event:MouseEvent):void{
container_mc.removeEventListener(MouseEvent.MOUSE_MOVE, makeLine);
}
function makeLine(event:MouseEvent):void{
container_mc.graphics.lineTo(mouseX, mouseY);
}
function inflash_saveImage ():void
{
var myURLLoader:URLLoader = new URLLoader();
var myBitmapSource:BitmapData = new BitmapData (container_mc.width, container_mc.height);
// render the player as a bitmapdata
myBitmapSource.draw (container_mc);
// create the encoder with the appropriate quality
var myEncoder:JPEGEncoder = new JPEGEncoder(80);
// generate a JPG binary stream to have a preview
var myCapStream:ByteArray = myEncoder.encode (myBitmapSource);
var header:URLRequestHeader = new URLRequestHeader ("Content-type", "application/octet-stream");
var myRequest:URLRequest = new URLRequest ("save.php");
myRequest.requestHeaders.push (header);
myRequest.method = URLRequestMethod.POST;
myRequest.data = myCapStream;
myURLLoader.load (myRequest);
}
Merci, hameau
Personne? :(Je pensais que c'est assez simple – hamlet