[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 ...
随机推荐
- 【BZOJ2780】Sevenk Love Oimaster【广义后缀自动机】
题意 给出你n个字符串和q个查询,每个查询给出一个字符串s,对于每个查询你都要输出这个字符串s在上面多少个字符串中出现过. 分析 广义后缀自动机的裸题.建好SAM以后再跑一遍得到每个状态的ocu和la ...
- 【Unity】Collider随骨骼动画运动
Collider位置和角色的动作不一致会导致Mesh互相镶嵌,让游戏失真. 想象一扇门的Collider没随它打开的动画移动,结果就是你看着门开着却穿不过去. 而我遇到的情况是: 角色在执行跑 ...
- sqlserver服务器硬件性能瓶颈分析
硬件性能瓶颈 内存 内存对SQL Server性能的影响胜过任何其他硬件.因此,对SQL Server系统的内存使用情况进行定期监视以确保内存的可用百分比高于20%是很有必要的.如果用户遭遇性能问题, ...
- [SoapUI] 通过编程的方式设置当前的Environment
testRunner.testCase.testSuite.project.setActiveEnvironment("Live")
- 1146 ID Codes
题目链接: http://poj.org/problem?id=1146 题意: 给定一个字符串(长度不超过50), 求这个字符串的下一个字典序的字符串, 如果已经是最大字典序, 那么输出 " ...
- CodeForces 288A Polo the Penguin and Strings (水题)
题意:给定一个字符,让你用前 k 个字符把它排成 n 长度,相邻的字符不能相等,并且把字典序最小. 析:其实很简单么,我们只要多循环ab,就行,最后再把剩下的放上,要注意k为1的时候. 代码如下: # ...
- 团体程序设计天梯赛L1-023 输出GPLT 2017-03-22 17:56 39人阅读 评论(0) 收藏
L1-023. 输出GPLT 时间限制 150 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 给定一个长度不超过10000的.仅由英文字母构成的 ...
- hdu2579之BFS
Dating with girls(2) Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Oth ...
- 大数据hadoop分布式系统
1>hadoop简介: Hadoop是一个开发和运行处理大规模数据的软件平台,是Apache的一个用java语言实现开源软件框架,实现在大量计算机组成的集群中对海量数据进行 分布式计算 ...
- [示例] 使用 TStopwatch 计时
使用 TStopwatch 计时 uses System.Diagnostics; var t1: TStopwatch; begin t1 := TStopwatch.StartNew; // do ...