本人最近遇到需要复制一个Bitmap对象的问题,应用场景如下:
在我的一个Flash中经常需要加载同样的图片,而这张图片也是比较大的,所以就想第一次使用后就把这张图片缓存起来,以后用时直接从缓存读取就可以了,因此就遇到Bitmap对象的复制问题,在网上搜了一下,网友们有两种解决方案,如下
方案1:
Title
public class MyImage{
public var bitmap: Bitmap;
public var url: String;
public var x: number;
public var y: number;
public function clone(): MyImage()
{
var myImage: MyImage = new MyImage();
myImage.bitmap = this.bitmap.clone;
myImage.url = this.url;
myImage.x = this.x;
myImage.y = this.y;
return myImage;
}
}
这种方案网上有人说可以,但是我自己试了一下,好像不行,“this.bitmap.clone”这句话不对,Bitmap就没有clone这个属性
方案2:
...
import flash.net.registerClassAlias;
import flash.utils.getDefinitionByName;
import flash.utils.getQualifiedClassName;
...
public function clone(source:Object) :* {
var typeName:String = getQualifiedClassName(source);//获取全名
var packageName:String = typeName.split("::")[1];//切出包名
var type:Class = Class(getDefinitionByName(typeName));//获取Class
registerClassAlias(packageName, type);//注册Class
//复制对象
var copier:ByteArray = new ByteArray
();
copier.writeObject(source);
copier.position = 0;
return copier.readObject();
}
这种方案虽然不报错,对象也复制成功了,但是好像图片就是无法正常显示
方案3:这是我自己的方案,其实也是很简单的事情
new Bitmap(sourceBitmap.bitMapData.clone())
Bitmap的bitmapData有clone的方法
这个方法我试过,可以正常使用
分享到:
相关推荐
这是Activity跳转时传递Bitmap对象的一个Demo
该demo 简单实现了 根据网络图片的 url 得到一个bitmap对象,再对这个bitmap对象,做处理 如 灰度化、线性 灰度化、二值化
加深对bitmap数据结构的理解,bitmap数据位图内存指针数据的长度
C++ Bmp图片复制功能实现 Bitmap
Halcon_Bitmap转换方法 写的文档 开发笔记
3个bitmap文件,用于认识bitmap文件格式的本质
android中, 将一个Bitmap对象存为一个jpg 的文件。
2. 把ImageView上的Bitmap对象从当前Activity传递到另外一个Activity中并显示出来 3. 基于串行化传递Java对象数据 首先看我是怎么实现HTTP客户端下载图片,通过异步Task接口实现HTTP客户端下载图片并通过Handler...
一个基于android平台Bitmap 工具类,一个基于android平台Bitmap 工具类,一个基于android平台Bitmap 工具类,一个基于android平台Bitmap 工具类,一个基于android平台Bitmap 工具类,一个基于android平台Bitmap 工具...
一个方法,传入bitmap图形资源,变换成圆形的bitmap资源,小工具类。适用在头像上。附带缩放图片方法
本示例 演示绘制位图,分两种方式 1. 绘制Bitmap对象 2.使用Drawable.draw方法绘制位图 详情请参见 http://blog.csdn.net/aduovip/article/details/6722949
下面小编就为大家带来一篇Android中利用C++处理Bitmap对象的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
一个DIB (位图)bitmap封装类 欢迎大家下载哈
处理bitmap内存溢出问题
改成C#后效率一直不高(尝试过消除浮点运算 查表法等) 后看到MSDN上的转换公式 http: msdn microsoft com en us library aa917087 aspx 后编写了此转换类库 转换一个D1帧 704 576 大约只需60ms左右 压缩包为Vs2010...
软件开发网在此之前给大家介绍过图片加载框架Glide的基本用法介绍,大家可以先参考一下,本篇内容更加深入的分析了Glide获取图片Path、Bitmap用法,以及实现的代码分析。 1. 获取Bitmap: 1)在图片下载缓存好之后...
c#.net Bitmap类的基本使用方法
安卓的图片工具类,可处理Bitmap和ImageView对象,实现了以下功能: 1.saveBitmap: 把Bitmap对象持久存储到SD卡或手机内存. 2.getViewBitmap: 从view得到bitmap对象 3.addWatermark: Bitmap加水印 4.zoomBitmap: 放大...