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,但是這不是在文件中明確)。