任意flex控件导出图片
任意flex控件导出图片
flex导出图片功能通常是:
思路1:客户端将UIComponent转化为BitmapData,再转为ByteArray,将ByteArray上传到服务端,服务端发送文件到客户端。
然而,flex本来就是客户端的东西,为什么还要绕道服务端去呢,这不是化简单为复杂嘛,
思路2:客户端将UIComponent转化为BitmapData,再转为ByteArray,使用FileReference.save()直接在client端保存图片
(当然前提要求是:在flash player 10.0中)
具体代码如下:
.as 的类文
package widgets_dr.TJT
{
import flash.display.BitmapData;
import flash.display.DisplayObject;
import flash.display.DisplayObjectContainer;
import flash.geom.Matrix;
import flash.geom.Point;
import flash.net.FileReference;
import flash.utils.ByteArray;
import mx.controls.Alert;
import mx.graphics.codec.PNGEncoder;
public class ChartExport
{
static public var Instance:ChartExport=new ChartExport();
public function ChartExport()
{
}
public function exportChart(d:DisplayObject):void{
var dt:DisplayObject = d;
var bmpData:BitmapData = new BitmapData(d.width,d.height,true,0x00ffffff);
bmpData.draw(d);
var fr:Object = new FileReference();
if(fr.hasOwnProperty("save"))
{
var encoder:PNGEncoder = new PNGEncoder();
var data:ByteArray = encoder.encode(bmpData);
fr.save(data,'chart.png');
}
else
{
Alert.show("当前flash player版本不支持此功能,请安装10.0.0以上版本!","提示");
}
}
}
}
然后在felx的mxml代码中创建这个类的对象,用这个类的对象去引用方法执行即可
例如:
var d:DisplayObject=DisplayObject(tabb);
ChartExport.Instance.exportChart(d);
顺便讲一下,Datagrid导出excel的方法:
导入 import com.esri.viewer.utils.ExcelUtil;
然后 click="ExcelUtil.exportGrid(querydg,'矿权综合查询')"
任意flex控件导出图片的更多相关文章
- flex控件总结
Flex基本控件总结 一.flex控件的分类:文本控件(text controls).数据源控件(data provider controls).菜单控件 (menu controls) ...
- MFC编程入门之二十七(常用控件:图片控件PictureControl)
上一节讲的是滚动条控件,本节主要讲一种简单实用的控件,图片控件Picture Control.我们可以在界面某个位置放入图片控件,显示图片以美化界面. 图片控件简介 图片控件和前面讲到的静态文本框都是 ...
- File控件选择图片的时候在Html5下马上预览
页面HTML <div> <img src="@pic.Path" id="img" style="width:200px;heig ...
- iOS开发UI篇—UIScrollView控件实现图片缩放功能
iOS开发UI篇—UIScrollView控件实现图片缩放功能 一.缩放 1.简单说明: 有些时候,我们可能要对某些内容进行手势缩放,如下图所示 UIScrollView不仅能滚动显示大量内容,还能对 ...
- iOS开发UI篇—UIScrollView控件实现图片轮播
iOS开发UI篇—UIScrollView控件实现图片轮播 一.实现效果 实现图片的自动轮播 二.实现代码 storyboard中布局 代码: #import "YYV ...
- iOS开发——UI高级OC篇&自定义控件之调整按钮中子控件(图片和文字)的位置
自定义控件之调整按钮中子控件(图片和文字)的位置 其实还有一种是在storyBoard中实现的,只需要设置对应空间的左右间距: 这里实现前面两种自定义的方式 一:imageRectForContent ...
- 【转】 iOS开发UI篇—UIScrollView控件实现图片轮播
原文:http://www.cnblogs.com/wendingding/p/3763527.html iOS开发UI篇—UIScrollView控件实现图片轮播 一.实现效果 实现图片的自动轮播 ...
- VS2010/MFC常用控件:图片控件Picture Control
图片控件Picture Control 本节主要讲一种简单实用的控件,图片控件Picture Control.我们可以在界面某个位置放入图片控件,显示图片以美化界面. 图片控件简介 图片控件和前面讲到 ...
- 让DELPHI自带的richedit控件显示图片
让DELPHI自带的richedit控件显示图片 unit RichEx; { 2005-03-04 LiChengbin Added: Insert bitmap or gif into RichE ...
随机推荐
- August 08th 2017 Week 32nd Tuesday
The very essence of romance is uncertainty. 浪漫的精髓就在于它充满种种可能. Romance is the glamour that can turn th ...
- [BZOJ 3514]Codechef MARCH14 GERALD07加强版 (CHEF AND GRAPH QUERIES)
[BZOJ3514] Codechef MARCH14 GERALD07加强版 (CHEF AND GRAPH QUERIES) 题意 \(N\) 个点 \(M\) 条边的无向图,\(K\) 次询问保 ...
- c++计算器后续(2)
自娱自乐: 大概是了解了一下前缀.中缀.后缀表示法是啥,并没有去深究,比如考虑实现啊,然后Calculation类里面的计算方法还是选用原来的直接对中缀表达式求值,只是把代码改得规范点,以上. 各表示 ...
- UML设计--人月神教
任务分配 用例图 类图 活动图 状态图 使用工具 所有图都是用VISO编辑出来的,因为VISO是比较经典工具,也是学校电脑自带的.....
- IntelliJ IDEA常用设置(转)
IntelliJ IDEA是一款非常优秀的JAVA编辑器,初学都可会对其中的一些做法感到很别扭,刚开始用的时候我也感到很不习惯,在参考了网上一些文章后在这里把我的一些经验写出来,希望初学者能快速适应它 ...
- python中基于descriptor的一些概念(下)
@python中基于descriptor的一些概念(下) 3. Descriptor介绍 3.1 Descriptor代码示例 3.2 定义 3.3 Descriptor Protocol(协议) 3 ...
- 编程算法 - 数字在排序数组中出现的次数 代码(C)
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/u012515223/article/details/36869869 数字在排序数组中出现的次数 代 ...
- BZOJ2588:Count on a tree(主席树)
Description 给定一棵N个节点的树,每个点有一个权值,对于M个询问(u,v,k),你需要回答u xor lastans和v这两个节点间第K小的点权.其中lastans是上一个询问的答案,初始 ...
- 随手练——洛谷-P1008 / P1618 三连击(暴力搜索)
1.普通版 第一眼看到这个题,我脑海里就是,“我们是不是在哪里见过~”,去年大一刚学C语言的时候写过一个类似的题目,写了九重循环....就像这样(在洛谷题解里看到一位兄台写的....超长警告,慎重点开 ...
- 【jQuery】结合accordion插件分析写插件的方法及注意事项
1.jQuery插件的命名方式:jquery.[插件名].js 2.对象方法附加在jQuery.fn上,全局函数附加在jQuery对象本身上 3.插件内部this指向的是通过选择器获取的jQuery对 ...