用Flex偷偷给图片加上水印

相信大家对Flex的Snapshot应用不会陌生,本实例是建立在这个功能的基础上的。为什么要用AS3加水印而不是用后台语言呢,主要是客户端处理效率高一点,而且我们还可以使用AS3丰富的图像API。那又为什么不直接加好了水印再快照呢?主要是因为主界面要求整洁,所以只好在输出字节流数据时才偷偷地加水印。

点击此处查看本实例的效果,点击此处下载本实例的源码。

在本实例中,我们先新建了一个Canvas容器,将容器的Image控件的Source指定为第一次快照获得的Bitmap,当按下Save Snapshot按钮时将一个Label控件添加到Canvas容器中,再快照Canvas容器,然后使用PNGEncoder图像编码器将BitmapData对象编码为PNG格式的ByteArray,最后将字节流数据传到后台生成PNG图片并下载保存到客户端。这个技巧不难,关键在于要客户端快照两次,记住Canvas只是一个临时放置字节流数据的容器。还有就是用了两次callLater,请好好体会。

上一篇上一篇: 选择删除Flex Chart项目
下一篇下一篇: 使用SharedObject来保存用户的偏好
来自文章来自: 本站原创
引用引用通告: 查看所有引用 | 我要引用此文章
标签Tags: Flex3 Labs
相关相关日志:
评论: 1 | 引用: 0 | 查看次数: -
引用飞鸟[2009-02-28 03:12 PM | 无网站 | 无Mail | 222.73.46.46 | 删除 | 取消审核 | 回复回复]
[正在加载评论信息,请稍候...]
发表评论
昵 称:
密 码: 游客发言不需要密码.
邮 箱: 邮件地址支持Gravatar头像,邮箱地址不会公开.
网 址: 输入网址便于回访.
内 容:
验证码:
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 1000 字 | UBB代码 开启 | [img]标签 关闭