as2.0 截图生成图片上传

直接代码:

fla的代码

import flash.display.BitmapData;
import flash.geom.Matrix;
import flash.geom.ColorTransform;
import flash.geom.Rectangle;
import flash.net.FileReference;

var bp:BitmapData = new BitmapData(240, 260, true, 0x00000000);
//显示位图,BitmapData类的draw方法帮助文档有详细介绍的
_root.createEmptyMovieClip("mc", 2);//创建一个影片显示截图
bp.draw(_root.pc, new Matrix(), new ColorTransform(), normal, new Rectangle(0, 0, 240, 260), true);//_root.pc是你要截图的对象
//如果不处理旋转是的锯齿,可以直接用下面一句,省去导入的ColorTransform,Matrix,Rectangle类.
//bp.draw(dy_txt);

var width = bp.width;
var height = bp.height;
var str:String = "";
for(var i=0; i<height; i++){
 for(var j=0; j<width; j++){
  str += bp.getPixel(j,i).toString() + ",";
 }
}

var requestData = new LoadVars();
requestData.data = str;
requestData.width = width;
requestData.height = height;

var urlStr = "";//生成图片的地址;
requestData.sendAndLoad(urlStr, requestData, "POST");
System.security.allowDomain(URLstr);
_root.mc.attachBitmap(bp, 1);//显示截图

 

 

java代码:

<%@ page contentType="text/html; charset=utf-8" language="java"%>
<%@ page import="java.io.*"%>
<%@ page import="java.awt.image.BufferedImage"%>
<%@ page import="java.io.File"%>
<%@ page import="java.io.IOException"%>
<%@ page import="javax.imageio.ImageIO"%>
<%
 
 String[] _data = request.getParameter("data").split(",");
 
 int width = Integer.parseInt(request.getParameter("width"));
 int height = Integer.parseInt(request.getParameter("height"));
 
 BufferedImage tag = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); // 
 for(int i=0; i<height; i++)
  for(int j=0; j<width; j++){  
   tag.setRGB(j, i, Integer.parseInt(_data[i]));//设置像素
  }    
 try {           
  ImageIO.write(tag, "png", new File("d:/flashImag/test" + System.currentTimeMillis()+".jpg"));    //生成图片
 } catch (IOException e) {            
  // TODO Auto-generated catch block 
  e.printStackTrace();  
 }  
  }

本人已经试过是可以的,,虽然现在都用as3.0啦,,

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值