[ActionScript 3.0] 通过BitmapData将对象保存成jpg图片
此方法需要用到JPGEncoder.as和BitString.as这两个类,是将BitmapData对象转换成ByteArray,然后通过FileStream把此ByteArray写入到文件保存成jpg图片,因为用到File相关类,故需要用air播放器发布flash,在此提供两个下载JPGEncoder.as和BitString.as类的地址,
CSDN:http://download.csdn.net/source/3205224
Adobe官方的CoreLib下载: http://code.google.com/p/as3corelib/ 使用其中的:com.adobe.images.JPEGEncoder
以下是一个简单例子,SaveToJPEG .as 类 可直接作为文档类
package
{
import JPEGEncoder.JPGEncoder;
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.Loader;
import flash.display.MovieClip;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.filesystem.File;
import flash.filesystem.FileMode;
import flash.filesystem.FileStream;
import flash.geom.Rectangle;
import flash.net.URLRequest;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import flash.utils.ByteArray; /**
* ...
* @author Frost.Yen
*/
public class SaveToJPEG extends Sprite
{
var ldr:Loader = new Loader();
var rect:Rectangle;
var bytearr:ByteArray;
public function SaveToJPEG():void
{
init();
} private function init():void
{
var btnMC:MovieClip = new MovieClip();
btnMC.graphics.beginFill(0xcccccc);
btnMC.graphics.drawRoundRect(0, 0, 100, 40, 10, 10);
btnMC.graphics.endFill();
btnMC.x = 630;
btnMC.y = 50;
btnMC.buttonMode = true;
btnMC.addEventListener(MouseEvent.CLICK, onClick);
this.addChild(btnMC); var txt:TextField = new TextField();
txt.autoSize = TextFieldAutoSize.LEFT;
txt.selectable = false;
txt.mouseEnabled = false;
txt.text = "点击保存此图片";
txt.x = (btnMC.width - txt.width) / 2;
txt.y = (btnMC.height - txt.height) / 2;
btnMC.addChild(txt); ldr.load(new URLRequest("http://hiphotos.baidu.com/frostyen/pic/item/7e49d8b53f6b48ffd9335aa2.jpg"));
ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
} private function onClick(e:MouseEvent):void
{
if (bytearr != null)
{
var file:File = new File();
file.browseForDirectory("保存");
file.addEventListener(Event.SELECT, onSelectPath);
}
} private function onSelectPath(e:Event):void
{
var file:File = (e.target as File).resolvePath("松竹梅副本.jpg");
var filestream:FileStream = new FileStream();
filestream.open(file, FileMode.WRITE);
filestream.writeBytes(bytearr);
} private function onComplete(e:Event):void
{
this.addChild(ldr);
rect = ldr.getRect(ldr); var bmpd:BitmapData = new BitmapData(rect.width,rect.height);
bmpd.draw(ldr);
var jpg:JPGEncoder = new JPGEncoder();
bytearr = jpg.encode(bmpd) as ByteArray;
}
}
}
[ActionScript 3.0] 通过BitmapData将对象保存成jpg图片的更多相关文章
- 如何把Excel中的单元格等对象保存成图片
对于Excel中的很多对象,比如单元格(Cell),图形(shape),图表(chart)等等,有时需要将它们保存成一张图片.就像截图一样. 最近做一个Excel相关的项目,项目中遇到一个很变态的需求 ...
- [ActionScript 3.0] AS3 用于拖动对象时一次一页的缓动
package com.fylibs.components.effects{ import com.tweener.transitions.Tweener; import flash.display. ...
- [ActionScript 3.0] AS3 用于拖动对象时跟随鼠标的缓动效果
package com.fylibs.components.effects { import flash.display.DisplayObject; import flash.events.Even ...
- [ActionScript 3.0] 如何获得实例对象的类名及类
package { import flash.display.DisplayObject; import flash.display.MovieClip; import flash.display.S ...
- [ActionScript 3.0] 利用ColorTransform实现对象(图片)的曝光过渡效果
原图效果 过渡效果 这个效果可以用帧动画实现较为简单,只需要调节这个影片剪辑的色彩效果样式里面的高级选项的三个通道值,以下用代码简单测试,可作为文档类: package { import com.tw ...
- Android 将Bitmap对象保存为png图片文件
输入:Bitmap对象.保存的路径.保存的文件名 注意路径的最后要带上 '/' 符号 private void saveBitmap(Bitmap bitmap,String path, Strin ...
- php 人人商城 生成 临时微信二维码,并保存成海报图片 有效期一个月
public function getPoster(){ global $_W; global $_GPC; $mm = pdo_fetch('select nickname,codetime fro ...
- PHP后端代码生成微信小程序带参数的二维码保存成jpg图片上传到服务器getwxacodeunlimit
老板最近有点飘了,他要在PC端的网站放一个微信小程序的二维码,并且扫描这个二维码以后要跳到小程序对应的房源详情页. 这是微信官方给出的文档,连接地址:https://developers.weixin ...
- BitmapUtil【缩放bitmap以及将bitmap保存成图片到SD卡中】
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 用于缩放bitmap以及将bitmap保存成图片到SD卡中 效果图 代码分析 bitmapZoomByHeight(Bitmap s ...
随机推荐
- nodejs中yield的用法?
nodejs中yield的用法? https://www.zhihu.com/question/32752866?sort=created
- lock free queues
无锁队列,下面链接是源码,包含4种队列:单生产者单消费者/多生产者多消费者,队列定长/不定长.元素建议为简单数据类型,复杂类型都采用指针形式. queues-master.zip 源码来源:https ...
- 【BZOJ3926】诸神眷顾的幻想乡 【广义后缀自动机】
题意 给定一棵树,每个结点有一个颜色,问树上有多少种子串(定义子串为两点上路径颜色的序列).保证叶子结点<=20 分析 我们可以发现一个结论,任意一个子串一定是以某个叶子结点为根的trie的后缀 ...
- 微信小程序(应用号)开发教程
本文档将带你一步步创建完成一个微信小程序,并可以在手机上体验该小程序的实际效果.这个小程序的首页将会显示欢迎语以及当前用户的微信头像,点击头像,可以在新开的页面中查看当前小程序的启动日志.下载源码 1 ...
- nginx相关教程
1.nginx简易的教程 http://www.cnblogs.com/jingmoxukong/p/5945200.html#%E8%B7%A8%E5%9F%9F%E8%A7%A3%E5%86%B3 ...
- Ubuntu16.0安装Eclipse Neon
eclipse在Ubuntu下安装先安装jdk,配置环境变量,之后下载eclipse安装包,解压,放置在目标目录,将jre链接到该目录或者将jdk下的jre目录复制到eclipse安装包目录下,双击文 ...
- source insight 保存时删除多余空格,去除多余空格 space tab键
source insight 保存时删除多余空格,去除多余空格 space tab键 摘自:https://blog.csdn.net/lanmanck/article/details/8638391 ...
- 用word发CSDN blog
目前大部分的博客作者在用Word写博客这件事情上都会遇到以下3个痛点: 1.所有博客平台关闭了文档发布接口,用户无法使用Word,Windows Live Writer等工具来发布博客.使用Word写 ...
- 七)oracle 2 mysql
/* Navicat MySQL Data Transfer Source Server : localhost Source Server Version : 50527 Source Host : ...
- Android 类加载器
首先需要知道的是android中两个主要的classloader,PathClassLoader和DexClassLoader,它们都继承自BaseDexClassLoader,这两个类有什么区别呢? ...