`

bitmap copyPixels和threshold的用法

    博客分类:
  • flex
阅读更多
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init2()">
	
	<mx:Script>
		<![CDATA[
			import mx.core.FlexBitmap;
			import mx.core.UIComponent;
			import mx.controls.Alert;
			private function init(){
				Alert.show("hello")
				var bmap:BitmapData=new BitmapData(200,300,false,0x8458455);
				
				var bm:FlexBitmap=new FlexBitmap(bmap);
				
				var ui:UIComponent=new UIComponent;
				ui.addChild(bm)
//				
				this.addChild(ui);
				
				
				var bmap2:BitmapData=new BitmapData(200,300,false,0x5444444);
				var bm2:Bitmap=new Bitmap(bmap2);
				
				var ui2:UIComponent=new UIComponent;
				ui2.addChild(bm2);
				bm2.x=250;
				this.addChild(ui2);
				
				bmap.fillRect(new Rectangle(0,0,30,30),0x1562122);//填充指定rect的颜色
				
				var rect:Rectangle=new Rectangle(20,20,50,50);//从原bmap的 x=20,y=20,width=50,width=50拷贝像素 
				var point:Point=new Point(0,20);//拷贝到目标点 bmap2的位置
				
				bmap2.copyPixels(bmap,rect,point);
				
				}
				private function init2(){
					var bit:Bitmap=new Bitmap;
					var bitdata:BitmapData=new BitmapData(200,300,false,0x77777777);
					bit.bitmapData=bitdata;
					
					
					
					var bit2:Bitmap=new Bitmap;
					var bitdata2:BitmapData=new BitmapData(200,300,false,0x00800000);
					bit2.bitmapData=bitdata2;
					
					Alert.show(bitdata.getPixel(10,10)+"");
					bit2.x=250;
					
					var ui1:UIComponent=new UIComponent;
					ui1.addChild(bit);
					var ui2:UIComponent=new UIComponent;
					ui2.addChild(bit2);
					
					this.addChild(ui1);
					this.addChild(ui2);
					var rect:Rectangle=new Rectangle(0,0,30,30);//原对象的范围
					var point:Point=new Point(0,0);
					var threColor:uint=0x7829366;
					var color:uint=0x999999;
					var mask:uint=0x000000;
					
					Alert.show(((0x77777777&mask)==(mask&threColor))+"");
					
					//如果校验成功((0x77777777&mask)==(mask&threColor) 会把bitdata中指定的 rect区域复制到 bitdata2中
					//复制的颜色值是指定的 color
					//如果校验失败((0x77777777&mask)!=(mask&threColor)并且最后一个值copysource=true;
					 //那么会把bitdata2中指定rect区域的 bitdata的颜色值0x77777777,复制到bitdata2中
					
					bitdata2.threshold(bitdata,rect,point,"==",threColor,color,mask,false);
					
					
					
				}
			
		]]>
	</mx:Script>
</mx:Application>

 

分享到:
评论

相关推荐

    c#.net Bitmap类的基本使用方法

    本篇文章将详细介绍`Bitmap`类的基本使用方法,包括其构造函数、属性、方法以及如何与其他图形组件交互。 1. **Bitmap类的创建** - `Bitmap(int width, int height)`:创建一个指定宽度和高度的新空白位图。 - `...

    c#Bitmap类和Graphics类

    在本节中,我们将详细介绍Bitmap类和Graphics类的概念、方法和应用场景。 一、Bitmap类 Bitmap类是C#中用于图像处理的基本类,它提供了多种方法来操作图像,包括图像的创建、编辑、显示和保存。Bitmap类的实例可以...

    android Bitmap用法总结

    下面是对Bitmap用法的详细总结: 1. **Drawable转换为Bitmap**: 当我们需要将一个Drawable对象(如从XML布局文件中加载的图像)转换为Bitmap时,可以使用以下方法: ```java public static Bitmap drawableTo...

    Android中Glide获取图片Path、Bitmap用法详解

    软件开发网在此之前给大家介绍过图片加载框架Glide的基本用法介绍,大家可以先参考一下,本篇内容更加深入的分析了Glide获取图片Path、Bitmap用法,以及实现的代码分析。 1. 获取Bitmap: 1)在图片下载缓存好之后...

    Android canvas drawBitmap方法详解及实例

    本文将深入解析`drawBitmap()`方法的参数及其用法,并通过实例来说明如何使用该方法。 `drawBitmap(Bitmap bitmap, Rect src, Rect dst, Paint paint)`是`drawBitmap()`方法的一个重载版本,其参数含义如下: 1. *...

    Bitmap类和PictureBox控件实现显示,保存

    `Bitmap`类提供了大量的方法和属性,允许程序员进行图像的创建、加载、修改和保存。以下是一些关键成员: - **构造函数**:你可以使用不同的参数创建`Bitmap`对象,如从文件路径、流或宽度和高度。 - **Load方法**...

    Android-使用Matrix对Bitmap进行处理

    当我们需要对Bitmap应用Matrix变换时,可以使用Bitmap.createBitmap方法,它接受原始Bitmap、新的宽度和高度以及Matrix作为参数。Matrix会根据给定的变换规则对图像进行处理,生成一个新的Bitmap。例如,以下代码...

    android bitmap outOfMemory解决方法

    通过以上方法,开发者可以有效地管理和控制Bitmap的内存使用,减少`OutOfMemoryError`的发生。然而,需要注意的是,过度依赖内存压缩和回收也可能影响图片的质量和用户体验,因此在优化过程中要找到性能和质量的平衡...

    bitmap上传图片demo

    `BitmapFactory.decodeFile()`方法用于从本地文件加载Bitmap,而`Bitmap.createBitmap()`可以创建一个新的Bitmap对象,指定其尺寸、颜色格式和配置。 2. 图片加载优化: 不恰当的Bitmap使用可能导致内存溢出,因此...

    Android下利用Bitmap切割图片

    在实际应用中,我们可能需要根据需求动态调整图片大小或比例,这时可以使用Bitmap.createScaledBitmap方法。这个方法可以将Bitmap缩放到指定的尺寸,同时保持原图像的比例: ```java // 缩放Bitmap至新的尺寸 ...

    Android图片Bitmap和字符串String之间的相互转换

    通过阅读和学习这些代码,开发者可以更好地理解和掌握Bitmap与String转换的实践方法。 总之,Android开发中Bitmap与String之间的转换是图像处理的关键步骤,涉及图像的保存、传输和加载等多个环节。理解并熟练运用...

    Bitmap的相关优化及使用

    然而,由于Bitmap对象占用大量内存,不恰当的使用可能导致内存溢出(OOM)问题,严重影响应用性能和用户体验。本篇文章将深入探讨Bitmap的优化策略及其在实际开发中的应用。 一、Bitmap的内存占用分析 Bitmap对象在...

    Bitmap类和图像像素值获取方法

    C#下读取、修改位置Bitmap,以及几种不同方法修改位图数据

    Activity跳转时传递Bitmap对象

    Android提供了多种方法来创建和加载Bitmap,例如从资源文件、文件系统、网络或内存中。 在Activity间传递Bitmap,有两种主要方式:Intent extras和使用Parcelable接口。由于Bitmap对象较大,直接通过Intent的extras...

    将Bitmap转换为Byte[]

    同时,如果你在处理大图片时,可能会面临性能和内存消耗的问题,这时可能需要考虑使用流式处理或分块处理的方法来优化。 总的来说,将Bitmap转换为Byte数组是图形处理和数据存储中常见的操作,它在各种场景下都有...

    处理bitmap内存溢出问题

    `inSampleSize`是`BitmapFactory.Options`类中的一个重要属性,它允许开发者指定在解码`Bitmap`时应使用的下采样率。通过增加`inSampleSize`的值,可以减少最终`Bitmap`的尺寸和内存占用。例如: ```java ...

    android中对Bitmap图片设置任意角为圆角

    1. 创建一个圆形Bitmap,可以通过Bitmap.createBitmap方法,传入宽度、高度和配置参数,再使用BitmapShader的TileMode.CLAMP模式来填充圆形区域。然后,创建一个Paint对象,并设置其颜色过滤器(colorFilter)为...

    Bitmap Font Generate使用方法

    在游戏中使用汉字时,想添加自己的个性化的字体,那么就用BMFont生成汉字的Bitmap

    canvas 转换成bitmap

    "Android 中 Canvas 转换为 Bitmap" Android 中 Canvas 转换为 Bitmap ...将 Canvas 转换为 Bitmap 是 Android 中的一种常见需求,通过使用 Canvas 和 Bitmap,我们可以将图形绘制到 ImageView 中,并实现图形的显示。

    C#中bitmap、stream、byte类型转换实例

    在C#中,可以使用Bitmap的Save方法将Bitmap对象保存到Stream中。这个方法接受一个Stream对象作为参数,以及可选的ImageFormat来指定图像格式(如JPEG、PNG等)。 ```csharp Bitmap bitmap = new Bitmap("image.jpg...

Global site tag (gtag.js) - Google Analytics