一种是:
如果DisplayObject对象是存在application 的调用的页面或者组件,那么可以直接通过以下的方式:
/**
* 格式转换 :ByteArray ====> BitmapData
*
*
*/
public static function BitmapDataToByteArray(target : UIComponent):ByteArray{
var imageWidth:uint = target.width;
var imageHeight:uint = target.height;
var srcBmp:BitmapData = new BitmapData( imageWidth, imageHeight );
//将组件读取为BitmapData对象,bitmagData的数据源
srcBmp.draw( target );
//getPixels方法用于读取指定像素区域生成一个ByteArray,Rectangle是一个区域框,就是起始坐标
var pixels:ByteArray = srcBmp.getPixels( new Rectangle(0,0,imageWidth,imageHeight) );
//下面俩行将数据源的高和宽一起存储到数组中,为翻转的时候提供高度和宽度
pixels.writeShort(imageHeight);
pixels.writeShort(imageWidth);
return pixels;
}
/**
*
* 格式转换 : BitmapData ====> ByteArray
* 此方法返回的Bitmap可以直接赋值给Image的source属性
*/
public static function ByteArrayToBitmap(byArr:ByteArray):Bitmap{
if(byArr==null){
return null;
}
//读取出存入时图片的高和宽,因为是最后存入的数据,所以需要到尾部读取
var bmd:ByteArray= byArr;
bmd.position=bmd.length-2;
var imageWidth:int = bmd.readShort();
bmd.position=bmd.length-4;
var imageHeight:int= bmd.readShort();
var copyBmp:BitmapData = new BitmapData( imageWidth, imageHeight, true );
//利用setPixel方法给图片中的每一个像素赋值,做逆操作
//ByteArray数组从零开始存储一直到最后都是图片数据,因为读入时的高和宽都是一样的,所以当循环结束是正好读完
bmd.position = 0;
for( var i:uint=0; i<imageHeight ; i++ )
{
for( var j:uint=0; j<imageWidth; j++ )
{
copyBmp.setPixel( j, i, bmd.readUnsignedInt() );
}
}
var bmp:Bitmap = new Bitmap( copyBmp );
return bmp;
}
然后通过image 对象就可以显示
第二种方式:
如果你是通过new 一个displayObject 实例对象,那么需要注意了:
首先,
FlexGlobals.topLevelApplication.addElement(objTemp _);
objTemp_.validateNow();
objTemp_是一个displayObject 对象
getBitmapDataToSmall(objTemp_)
然后,
再调用一下方法:
public function getBitmapDataToSmall(displayObject:UIComponent):Bi tmap{
var scale:Number =77 / displayObject.width;
var matrix:Matrix = new Matrix();
var bd:BitmapData = new BitmapData( 77, displayObject.height * (77/displayObject.width));
matrix.scale( scale, scale );
bd.draw(displayObject,matrix);
var result:Bitmap = new Bitmap(bd);
return result;
}
最后,
FlexGlobals.topLevelApplication.removeElement(objT emp_);
这样就可以取到缩略图了.
发表评论
-
动态曲线图的flex实现说明.doc
2012-07-02 12:44 762Author: Allan(吴进刚) 其实现在回想起 ... -
flex 幸运大转盘 代码
2012-07-02 12:44 741>"+testT.originY) ... -
Flex入门之增强型约束条件
2012-07-02 12:44 578增强型约束条件主要用于控件排列时相对于兄弟元素的位置。增强 ... -
Flex基于FXG仪表盘(附全部源代码)三
2012-07-02 12:44 858我们制作好skin后,就要开始试用skin了,首先我们就要 ... -
视频聊天网站的研究、发展以及趋势(转)
2012-07-01 10:06 611此文讲述了视频聊 ... -
视频聊天网站的研究、发展以及趋势(转) ...
2012-07-01 10:06 663此文讲述了视频文件聊天网站相干的技术、发展过程和将来的发展 ... -
转载:WebKit介绍及总结(三)
2012-07-01 10:06 747六 . 编译与调试 在 ubuntu-10.04 上 ... -
ExtJS 4 Grid组件
2012-07-01 10:06 702我们正 ... -
【转】Adobe 推出支持 iOS 和 BlackBerry 的 Flash Builder 4.5.1 和 Flex 4.5.1 更新版
2012-06-30 16:31 801【转】Adobe 推出支持 iOS 和 BlackBerry ... -
Actionscript,AS3,MXML,Flex,Flex Builder,Flash Builder,Flash,AIR,Flash Player之关系
2012-06-30 16:31 877Actionscript,AS3,MXML,Flex,Flex ... -
Flex调用flash |Call Flash in Flex
2012-06-30 16:31 618Flex调用flash |Call Flash in Flex ... -
如何在flex当中使用swc
2012-06-30 16:31 627如何在flex当中使用swc 2 ...
相关推荐
flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图...
flex批量上传图片带预览功能flex批量上传图片带预览功能flex批量上传图片带预览功能
Flex FLV播放器 + 带缩略图的图片切换广告 例子:http://www.haoliv.com 右边的播放器
Flex相册 Flex图片
flex 流程图 源码 在flex builder 4.6 下已经编译通过没有问题
flex 流程图 制作 flex 流程图 制作flex 流程图 制作flex 流程图 制作flex 流程图 制作flex 流程图 制作flex 流程图 制作flex 流程图 制作flex 流程图 制作flex 流程图 制作flex 流程图 制作flex 流程图 制作flex ...
flex曲线图,实时更新,生成的flash文件,actionscript文件和mxml文件
Flex 图片切换广告 xml配置文件 带缩略图 类似:http://www.haoliv.com/ 左边的图片切换
FLEX 背景图片设置的方法,很实用的技巧
项目中Flex用于导航和图形分析使用,使用Flex3来进行编码,在实际项目中使用。
flex 拓扑绘图
flex强大、优美的界面流程图制作,这只是一个比较简单的画流程图程序,希望能帮助大家!可以在这个基础上构造属于自己的web流程图制作工具。
FLEX地图应用教程对于flex地图开发的初学者很有用。
flex 折线图
最新的flex流程图源码 希望对大家有所帮助
该项目提供flex调用百度地图,并提供相关实例
flex 图片浏览\放大\缩小,
flex数据交互_方式
flex各种折线图(饼状图,折线图,柱状图),java方向的案例
flex3 转 flex4 原来的皮肤不能使用,该文档是flex4的图片按钮类,非常好用哦,自己写的