在上篇文章中我们提到了如何简单的使用FLEX实现在线拍照功能,如果我们想在此基础之上为拍摄好的照片增加水印功能,在FLEX中如何实现呢?
实现一个类,通GetWaterMark()方法把我们要嵌入的水印图片转换为BitmapData类型。
1
package name.domain.flywolf
2
}
2
改写上篇文章中说到的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);
2
3
4
5
具体的水印位置属性等等可以自己参考FLEX2帮助手册,调整相关参数。
这样就可以完成了,很简单是吧? :)
由此我们还可以延伸到很多方面,例如在线大头贴等等。 欢迎探讨。