续:使用FLEX为上传的图片添加水印
在上篇文章中我们提到了如何简单的使用FLEX实现在线拍照功能,如果我们想在此基础之上为拍摄好的照片增加水印功能,在FLEX中如何实现呢?
实现一个类,通GetWaterMark()方法把我们要嵌入的水印图片转换为BitmapData类型。
1
package name.domain.flywolf
2
{
3
import flash.display.Bitmap;
4
import flash.display.BitmapData;
5
import flash.display.Sprite;
6
7
public class WaterMark extends Sprite
8
{
9
[Embed(source='/assets/logo.png')]
10
public var mark:Class;
11
12
public function GetWaterMark():BitmapData {
13
var pic:Bitmap = new mark();
14
return pic.bitmapData;
15
}
16
}
17
}
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
2
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
3
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
4
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
5
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
6
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
7
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
8
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
9
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
10
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
11
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
12
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
13
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
14
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
15
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
16
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
17
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
改写上篇文章中说到的getSnapshotJPEG()方法
1
var jpegEnc:JPEGEncoder = new JPEGEncoder(100);
2
var snap:BitmapData = cameraStream.getSnapshotBitmapData();
3
waterMark = new WaterMark();
4
snap.draw(waterMark.GetWaterMark(), new Matrix());
5
var jpegData:ByteArray = jpegEnc.encode(snap);
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
2
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
3
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
4
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
5
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
具体的水印位置属性等等可以自己参考FLEX2帮助手册,调整相关参数。
这样就可以完成了,很简单是吧? :)
由此我们还可以延伸到很多方面,例如在线大头贴等等。 欢迎探讨。
┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉
赠人玫瑰 手留余香
┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉