2
我一直在关注本教程以在flex中裁剪图像:http://code.mediablur.com/ImageCropper/ImageCropperDemo.html。使用非矩形形状在flex中裁剪图像
其裁剪的核心是使用一种名为“copyPixels”的方法。但是,这种方法的作用之一是为其作物区域提供矩形形状。是否有其他策略可以用来裁剪而不是使用矩形。
我打算让用户指定应该使用一系列点来裁剪的区域。
我一直在关注本教程以在flex中裁剪图像:http://code.mediablur.com/ImageCropper/ImageCropperDemo.html。使用非矩形形状在flex中裁剪图像
其裁剪的核心是使用一种名为“copyPixels”的方法。但是,这种方法的作用之一是为其作物区域提供矩形形状。是否有其他策略可以用来裁剪而不是使用矩形。
我打算让用户指定应该使用一系列点来裁剪的区域。
产生的图像必须是一个矩形,当然,但你可以使用BitmapData.draw
和BlendMode
透明度面膜:
var originalImage:BitmapData; // defined
var maskPath:GraphicsPath; // defined
var maskShape:Shape = new Shape();
maskShape.graphics.beginFill(0, 0); // fill region with transparent
maskShape.graphics.drawRect(0, 0, originalImage.width, originalImage.height);
maskShape.graphics.endFill();
maskShape.graphics.beginFill(0xFF0000);
maskShape.graphics.drawPath(maskPath.commands, maskPath.data, maskPath.winding);
maskShape.graphics.endFill();
var resultImage:BitmapData = originalImage.clone();
resultImage.draw(maskShape, null, null, BlendMode.ALPHA);
进行裁剪,你可能会做一些在过去数线 - 更看中 - 复制区域而不是克隆整个originalImage
,和/或在应用maskShape
时应用变换。
(我相信这是需要使用DisplayObject
使用BlendMode
S,但是这不是在文件中明确)。