- 浏览: 579545 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
wzh051527:
我是大四实习生一个,自我感觉技术能力在第三年。。唯一不明白,为 ...
十年技术,不要再迷茫 -
room_bb:
.hrl文件怎么加入到编译规则里面?比如:pp.hrl文件-d ...
Erlang中用的makefile的一点解释 -
吉米家:
感觉帆软报表的flash打印就很不错哇,特别好用
JSP 实现报表打印 -
雪碧爱芬达:
苦逼程序员的辛酸反省与总结 -
mlyjxx:
...
十年技术,不要再迷茫
这段时间工作忙,一直抽不出空来写点内容。今天晚上正好能静下心来,把工作中用到Flash位图数据保存整理一下,写了下面的应用实例。
服务端代码(upload.jsp):我使用是Java服务端,当然PHP,ASP.NET也可以了,我在这里就不一一举例了,有兴趣的朋友自己研究了!package project.test {
import flash.display.*;
import flash.net.*;
import flash.events.*;
import flash.utils.ByteArray;
import fl.controls.Button;
import com.klstudio.images.JPGEncoder;
public class Test12 extends Sprite{
private var _base:Shape;
private var _rnd_button:Button;
private var _submit_button:Button;
private static const UPLOAD_PAGE:String="http://localhost:8080/upload.jsp";
public function Test12(){
_base = new Shape();
_base.x = _base.y = 5;
addChild(_base);
drawLine();
_rnd_button = new Button();
_rnd_button.label = "随机画图";
_rnd_button.setSize(90,22);
_rnd_button.move(5,205);
_rnd_button.addEventListener(MouseEvent.CLICK,clickHandler);
addChild(_rnd_button);
_submit_button = new Button();
_submit_button.label = "保存图片";
_submit_button.setSize(90,22);
_submit_button.move(105,205);
_submit_button.addEventListener(MouseEvent.CLICK,clickHandler);
addChild(_submit_button);
}
public function drawRndRect():void{
_base.graphics.beginFill(getRndColor());
var gWidth:uint = getRndInt();
var gHeight:uint = getRndInt();
var gX:uint = getRndInt(5,180-gWidth+5);
var gY:uint = getRndInt(5,180-gHeight+5);
_base.graphics.drawRect(gX,gY,gWidth,gHeight);
}
public function getRndInt(min:uint=10,max:uint=180):uint{
return uint(Math.random()*(max-min))+min;
}
public function getRndColor():uint{
var r:uint = getRndInt(10,220);
var g:uint = getRndInt(10,220);
var b:uint = getRndInt(10,220);
var c:uint = (r << 16) + (g << 8) + b;
return c;
}
public function drawLine():void{
_base.graphics.beginFill(0x666666);
_base.graphics.drawRect(0,0,190,190);
_base.graphics.beginFill(0xFFFFFF);
_base.graphics.drawRect(1,1,188,188);
_base.graphics.endFill();
}
public function getBitmapData():BitmapData{
var bmd:BitmapData = new BitmapData(_base.width,_base.height);
bmd.draw(_base);
return bmd;
}
public function submit():void{
_rnd_button.enabled = false;
_submit_button.enabled = false;
var encoder:JPGEncoder = new JPGEncoder(80);
var bytes:ByteArray = encoder.encode(getBitmapData());
var request:URLRequest = new URLRequest(UPLOAD_PAGE);
//data值就为图片编码数据ByteArray;
request.data = bytes;
request.method = URLRequestMethod.POST;
//这个是关键,内容类型必须是下面文件流形式;
request.contentType = "application/octet-stream";
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, completeHandler);
loader.addEventListener(IOErrorEvent.IO_ERROR,errorHandler);
loader.load(request);
}
private function completeHandler(event:Event):void{
trace("图片上传成功");
_rnd_button.enabled = true;
_submit_button.enabled = true;
}
private function errorHandler(event:IOErrorEvent):void{
trace("图片上传失败");
_rnd_button.enabled = true;
_submit_button.enabled = true;
}
private function clickHandler(event:MouseEvent):void{
switch(event.target){
case _rnd_button:
_base.graphics.clear();
drawLine();
drawRndRect();
drawRndRect();
drawRndRect();
drawRndRect();
break;
case _submit_button:
submit();
break;
}
}
}
}
%@ page contentType="text/html; charset=utf-8" language="java"%>
<%@ page import="java.util.*"%>
<%@ page import="java.io.*"%>
<%
int v;
String filePath = request.getRealPath(System.currentTimeMillis()+".jpg");
BufferedInputStream inputStream = new BufferedInputStream(request.getInputStream());
FileOutputStream outputStream = new FileOutputStream(new File(filePath));
byte [] bytes = new byte[1024];
while((v=inputStream.read(bytes))>0){
outputStream.write(bytes,0,v);
}
outputStream.close();
inputStream.close();
%>
发表评论
-
as3 Loader 加载资源后内存泄露无法释放的问题。
2014-06-21 10:30 646as3 Loader 加载资源后内存泄露无法释放的问题。 ... -
as3判断flash player版本的函数
2014-06-10 20:35 804//判断当前版本是否高于9.0.115.0为例子. pr ... -
CSS 中文字体的英文名称 (simhei, simsun) 宋体 微软雅黑
2014-04-03 15:25 972华文细黑:STHeiti Light [STXihei]华文 ... -
as3.0的垃圾回收机制
2013-09-07 14:02 1468还是同样的博客,还是同样的作者(Daniel Sidhio ... -
AIR程序多开
2013-09-07 13:55 971AIR应用通常不能像QQ那样能进行多开操作。为了让一个用AI ... -
starling性能优化总结
2013-07-22 14:06 1445在项目开发的过程中总结了一下starling的性能优化方案: ... -
AS3 Socket从零开始
2013-07-22 12:54 1077大家如果想学AS3 Socket直接在百度里搜一下,会找到很 ... -
绕开AS3安全沙箱 跨域加载SWF
2013-07-11 12:53 870AS3的安全沙箱的确是 ... -
解决AS3在ie中初始化时stageWidth和stageHeight为0
2013-06-14 09:23 979先看下面的一段脚本,这是比较经典的初始化脚本: pac ... -
动态获取swc中的类
2013-05-25 10:32 913想通过代码生成,来获取swc中的类,并且可以作为普通类正常使 ... -
AS3 中字符串的format功能实现
2013-05-25 10:19 811使用C#的朋友都知道,string.Format();还是挺 ... -
总结调用Flash的几种方法
2013-05-02 16:18 1628一、Adobe 提供的方法 <object wi ... -
Flash3D错误集锦
2013-05-02 14:03 903VerifyError: Error #1014: 无法找到 ... -
使用scale拉伸之后的坐标问题
2013-04-12 09:38 1247最近发现论坛多了很多 ... -
30个实用的网页设计工具
2013-03-20 09:58 784作为一位网页设计师或开发者,你一直需要搜寻获取强大的网页设计 ... -
如何成为强大的程序员?
2013-03-11 11:27 701Aaron Stannard是新创公 ... -
漫谈重构
2013-03-11 11:09 825因为工作内容的原因, ... -
AS3使用谷歌API生成二维码
2012-12-10 16:24 1322二维码在新闻杂志,网站,网络广告,电视广告等地方随处可见 ... -
OOP的聚合原则
2012-12-10 16:21 902什么是聚合? 聚合可以很好地表达对象是什么和做 ... -
压缩速率追踪
2012-11-02 14:16 1428Flash Player 11.3添加了一个压缩和解压B ...
相关推荐
C#好是好,不过处理图片时一个像素一个像素的操作像素不是一般的慢。其实Delphi也一样,但好在Delphi的Bitmap类提供了ScanLines,可以一行一行的读图,效率比较高。C#应该也有类似的东东。经过一番搜索,终于发现了...
位图数据处理,主要用于位图的找图找色:BitmapData.pas 實現按键精靈的功能:kbKernel.pas
ActionScript 3 BitmapData 的例子 有助于你了解ActionScript 3位图!
想把 draw方法弄明白
NULL 博文链接:https://as3.iteye.com/blog/964080
delphi 找图找色 BitmapData.pas 使用方法请到原作者yeye55的blog查看, http://yeye55blog.blog.163.com/blog/static/19724102120111043252016/
[FLASH/AS1/2]简易涂鸦板(带本地保存功能与撤消上一步功能) 作者:古树悬叶 日期:2010-01-07 二类涂鸦板:一种是主流的通过保存鼠标轨迹的方式来保存涂鸦数据,既使用矢量的方式来保存,样例如闪吧的涂鸦程序;...
EaselJS的位图数据EaselJS的BitmapData将AS3(例如BitmapData)添加到EaselJS。例1 // create BitmapData by HTMLImageElement_bmd01 = new createjs.BitmapData(HTMLImageElement);_bitmap01 = new createjs.Bitmap...
用GDI+的BitmapData获取BMP格式图形文件的像素值,并保存为.bin文件
本程序为C#例程,练习数据与图片的相互转换.并且通过这个程序熟悉BitmapData数据类型的使用方法.
as2.0 模拟火焰 import flash.display.*...var blueSpot: BitmapData = new BitmapData( clipBounds.xMax, clipBounds.yMax, true, 0 ) blueSpot.draw( blueSpotClip, new Matrix() ) blueSpotClip.removeMovieClip()
一个delphi下用于快速找图找色的单元,很好用!!! 原下载地址已经全部失效,在这里分享给大家,希望使用delphi的朋友能够喜欢。
王者找图对比程序,delphi制作,设定一个图,找另一个图上是否有这个图!
BitmapData类实例 运用噪声制作一些好的效果 源码
写了一个方法用于处理图片的直接放大(直接放大像素),类似photoshop的放大功能,这个放大用于图片放大后像素的定位和修改,由于使用了指针需要勾选允许不安全代码选项,做成方法是为了方便使用!
Flex RIA AS3网页游戏 BitmapData CopyPixel用法.rar
著名adobe传教士gskinner的碰撞检测实现,bitmapData的实现
综合以上特性,我们可以使用Bitmap将矢量图动画缓存为位图动画,多个相同的对象共用同一份BitmapData数据,这样既可以大幅降低cpu占用,又可以节省内存,同时还避免了直接在库里面使用图片而造成flash文件变大的...
C#图片加水印,各论坛非常有用 /// /// 绘制水印(图片) /// /// 原图 /// 水印图片 /// 透明色 /// 起始点 /// <param name="y"></param> /// 不透明度 /// <returns></returns> private ...