Flex Java Servlet 实现简单图片编辑
flex有一个功能可以将组建转换成Bitmap这样只要拿到编辑过的图片字节码一切就容易了。这个功能大概有四步。
1.加载要编辑的图片
加载图片可以使用 BitImage类
因为只是演示一下就直接将将BitImage写死了。 代码:
- <s:group id="myPanel" x="0" y="38">
- <s:bitmapimage source="@Embed('mv.jpg')" width="400" height="272" x="0" y="-1">
- <s:textarea x="269" y="21" width="112" height="88" contentbackgroundalpha="0.0" borderalpha="0.39">
- </s:textarea></s:bitmapimage></s:group>
2.鼠标的划线
鼠标划线主要就是监听鼠标的事件,思路就是 在鼠标按下时图片处于可以编辑状态,拖动鼠标时划线,松开鼠标时划线结束
- private var mX:Number;
- private var mY:Number;
- private var IsDown:Boolean=false;
- private var path:String=new String();
- // 初始化函数
- private function init():void{
- myPanel.addEventListener(MouseEvent.MOUSE_DOWN,downHandler);
- myPanel.addEventListener(MouseEvent.MOUSE_MOVE,moveHandler);
- myPanel.addEventListener(MouseEvent.MOUSE_UP,upHandler);
- myPanel.graphics.lineStyle(2,0x0000ff,1);
- myPanel.graphics.moveTo(10,10);
- myPanel.graphics.curveTo(175,125,200,200);
- }
- private function downHandler(e:MouseEvent):void{
- IsDown=true;
- mX=myPanel.mouseX;
- mY=myPanel.mouseY;
- }
- private function upHandler(e:MouseEvent):void{
- IsDown=false;
- trace(path);
- }
- private function moveHandler(e:MouseEvent):void{
- if(IsDown){
- var x:Number = myPanel.mouseX;
- var y:Number = myPanel.mouseY;
- myPanel.graphics.lineStyle(_lineSize,_lineColor,1);
- myPanel.graphics.moveTo(mX,mY);
- myPanel.graphics.lineTo(x,y);
- mX=x;
- mY=y;
- }
- }
3.得到编辑后字节码
- var png:PNGEncoder=new PNGEncoder();
- var srcBit:BitmapData = new BitmapData(myPanel.width,myPanel.height);
- srcBit.draw(myPanel);
- var data:ByteArray=srcBit.getPixels(new Rectangle(0,0,myPanel.width,myPanel.height));
- var image:ByteArray=png.encodeByteArray(data,myPanel.width,myPanel.height);
上面代码得到png格式的图片编码
4.上传字节码到服务器
- var hander:URLRequestHeader=new URLRequestHeader("Content-type","application/octet-stream");
- var request:URLRequest =new URLRequest("http://iyang/FlexUpload/DoServletUpload");
- request.requestHeaders.push(hander);
- request.method="POST";
- request.data=image;
- var load:URLLoader=new URLLoader(request);
- load.addEventListener(Event.COMPLETE,function(evt){
- Alert.show("保存成功");
- });
servlet使用request.getInputStream();得到字节流。
上面的功能经实现了所需要的功能
flex4 通过 FileReference可以实现将图片保存到本地,直接用得到的image的ByteArray就可以了
var file:FileReference=new FileReference();
file.save(image,”edit.png”);
这样就会弹出保存图片的对话框
Flex Java Servlet 实现简单图片编辑相关推荐
- jsp java 登陆_jsp+java servlet实现简单用户登录
jsp+java servlet实现简单用户登录(使用数据库,包括注册页面) 功能介绍 本项目通过使用jsp和servlet实现简单的用户登录.主要逻辑为:如果用户不存在,则首先进行注册(注册信息同步 ...
- java flex 上传文件_使用Flex和java servlet上传文件
资源都是来自网上.本实例将展示使用Flex和java servlet上传文件. 事前准备就是到http://commons.apache.org 下载common-fileupload-1.1.1.j ...
- java servlet spring_带着新人简单看看servlet到springmvc
好久都没有写博客了,不是因为自己懒了,而是总感觉自己知道的只是太少了,每次想写博客的时候都不知道怎么下手,不过最近看到一篇博客说的是springmvc,给了我比较大的兴趣,感觉一下子对整个spring ...
- 使用Servlet和JSP开发Java应用程序 ---- 简单模拟天猫购物页面
使用Servlet和JSP开发Java应用程序 ---- 简单模拟天猫购物页面 1. 加载 jar 包 2. 使用URL重写参数 3. 编写 ProductServlet 4. 在 productIn ...
- flex+java项目创建_创建Flex 4和Java Web应用程序
当前的Web技术对它们的需求不断增长. 他们必须能够管理用户帐户,上载内容和流视频. 这种需求要求RIA开发人员寻求简化开发工作流程的技术,同时提供常见的功能. 开发人员面临的挑战是选择正确的技术来提 ...
- Java Servlet完全教程
本文来自Java Servlet完全教程 Servlet 是一些遵从Java Servlet API的Java类,这些Java类可以响应请求.尽管Servlet可以响应任意类型的请求,但是它们使用最广 ...
- Java Servlet 开发常用代码、模板、问题
一 空Servlet类模板 import java.io.IOException; mport java.io.PrintWriter; import javax.servlet.ServletExc ...
- Java Servlet 技术简介
开始之前 关于本教程 在您最喜欢的 Web 浏览器中,您所阅读的页面是如何出现的呢?当登录到您最喜欢的 Web 站点时,该 Web 站点如何知道登录的用户是您?而 Web 零售商又如何接受您的在线订购 ...
- 电脑编程用户注册界面java_用JSP/Servlet开发简单的用户注册系统
用JSP/Servlet开发简单的用户注册系统 2.4界面编程实现 通过JavaBeans封装了大部分的逻辑或数据操作功能.这样,JSP页面中就可以减少很多Java代码,从而使得JSP的建立和修改变得 ...
最新文章
- 谷歌提出「卷积+注意力」新模型,超越ResNet最强变体
- LaTeX入门第二集!LaTeX的几个示例!
- OpenCV About 页面翻译
- Android构建流程——篇五
- 常见的蓝牙4.0模块
- ubuntu 16.0安装ros-kinetic
- 亿级规模的 Feed 流系统,如何轻松设计?
- BZOJ 1090: [SCOI2003]字符串折叠 区间DP
- idea设置自定义代码模板(webstorm也是如此)
- 北交所开市工作准备就绪 定于2021年11月15日开市
- 杨强教授领衔撰写,国内首本联邦学习实战的权威著作
- Noip2013错误避免
- Matlab图像特征提取的数学原理及实现
- piwik阅读(整体结构)
- Civil 3d 之枚举 SpiralType
- 求证:原函数与逆函数具有相同的单调性
- linux挂移动硬盘命令,linux挂载命令mount及U盘、移动硬盘的挂载
- 手机墙刷APP下载量骗推广费 10人因涉嫌合同诈骗被捕
- 计算属性普通函数写法 和 set get 写法
- 【耀扬表情包语音包】