用FLEX实现屏幕快照及下载 AND EXCEL
用FLEX实现屏幕快照及下载
Flex/Flash, Flex2, Flex3 GgNET 01月 31st. 2008, 2:53am
这种方式,在服务器端不会在磁盘上生成图片
FLEX代码
public function printMap():void{
var en:JPEGEncoder = new JPEGEncoder(100); //压缩图片,100是指质量
var ba:ByteArray=en.encode(ImageSnapshot.captureBitmapData(this.parent.parent));//将控件转为BitmapData后再转为ByteArray
var request:URLRequest = new URLRequest(”http://localhost:8080/servlet/upload.jsp”);
request.method=”POST”;
request.data=ba;
request.contentType = “application/octet-stream”;
navigateToURL(request,”_blank”); //因为要浏览器触发下载事件,所以就不用异步方式打开连接了
}
upload.jsp代码(如果把application/x-download改成image/jpeg就可以不弹出保存提示框了)
<%@page
language="java” contentType=”application/x-download” import=”java.io.*,java.net.*” pageEncoding=”gb2312″%><%
response.setContentType(”application/x-download”); //内容是下载
response.setHeader(”Content-Disposition”,”attachment;filename=” + “test.jpg”);//文件名,可以进一步处理
//读数据
BufferedInputStream inputStream = new BufferedInputStream(request.getInputStream());
//FileOutputStream outputStream = new FileOutputStream(new File(filePath));
OutputStream outputStream = response.getOutputStream();
byte [] bytes = new byte[1024];
int v;
//写数据
while((v=inputStream.read(bytes))>0){
outputStream.write(bytes,0,v);
}
outputStream.flush();
outputStream.close();
inputStream.close();
%>
flex 生成excel
用
http://code.google.com/p/as3xls/
生成excel文件,然后用上面的方法先上传再下载
支持中文的as3xls http://download.csdn.net/source/839048
屏幕快照(输出到打印机)
var img:Image=new Image();
img.visible=false;
var bd:BitmapData=getBitmapData(UIComponent(Application.application));//此例中是当前应用的可视范围
img.source = new Bitmap(bd);
Application.application.addChild(img);//必须
相关文档:
测试其实没有太多的可比较性,我主要想比较相互之间对数据访问的速度和数据传输大小的比较,Flex的性能上出乎我的意料之外
我采用的是Flex直接访问Java服务,和Silverlight 访问webservice
从同样的SQL语句得到的数据大小看,flex读取数据流量的比silverlight小5倍,原因是flex访问数据时对数据进行了压缩
从显示数据的性 ......
Flex Builder 3.0 For Eclipse plugin准备安装.
2009-11-11 15:38
这两天准备学习Flex,于是下载了Flex Builder 3.0 For Eclipse plugin准备安装.
但是安装后启动Eclipse,找了半天也没找到Flex.而且Flex Builder会把JRE也安装.觉得这样很不爽.
所以我想到能不能来个Flex Builder绿色安装方法呢.
想到就做.下面是我的 ......
1.复制内容到系统剪贴板
System.setClipboard(strContent);
2.复制一个ArrayCollection
//dummy solution( well, it works )
var bar:ArrayCollection = new ArrayCollection();
for each ( var i:Object in ac ){
bar.addItem( ......
今天在把玩开源的flex系统和控件时碰到了字体不能编译的问题,所以对字体进行了较为深入的研究。
Flex 支持的True Type和Open Type类型的字体
讲下他们之间的区别
TrueType 字体可调整到任意大小,并且在所有大小情况下,都是清晰可读的。可以将它们发送给 Windows 支持的任何打印机或其他输出设备。
OpenType 字体与 T ......