原文在此
Kieth的blog。相当有趣。看来可以在这个blog上找到不少Flash 9/ActionScript 3的技巧。
原文的主旨在于对比是否使用double buffering对Flash中的绘制性能的影响。但阅读下面的评论会发现很有趣的结论:不用double buffering也未必会慢多少;可以使用“lock()”。
package {
import flash.display.Sprite;
import flash.utils.getTimer;
import flash.display.Bitmap;
import flash.display.BitmapData;
public class BlitTest extends Sprite
{
public function BlitTest()
{
var bmp1:BitmapData = new BitmapData(500, 500, true, 0);
var bmp2:BitmapData = new BitmapData(500, 500, true, 0);
var bmp3:BitmapData = new BitmapData(500, 500, true, 0);
var holder1:Bitmap = new Bitmap(bmp1);
addChild(holder1);
var holder2:Bitmap = new Bitmap(bmp2);
var start:int
var i:uint;
start = getTimer();
bmp1.lock(); // LOCK BITMAP
holder1.visible = false; // AND SET TO INVISIBLE!
for(i = 0; i <1000000; i++)
{
bmp1.setPixel(
Math.random() * 500,
Math.random() * 500,
Math.random() * 0xffffff);
}
bmp1.unlock(); // UNLOCK
holder1.visible = true; // SET TO VISIBLE
trace(getTimer() - start);
start = getTimer();
for(i = 0; i <1000000; i++)
{
bmp2.setPixel(
Math.random() * 500,
Math.random() * 500,
Math.random() * 0xffffff);
}
trace(getTimer() - start);
start = getTimer();
for(i = 0; i <1000000; i++)
{
bmp3.setPixel(
Math.random() * 500,
Math.random() * 500,
Math.random() * 0xffffff);
}
trace(getTimer() - start);
}
}
}
(摘自Kieth的blog)
分享到:
相关推荐
在上述代码示例中,我们看到如何使用`BitmapData`来实现一个简单的位图像素转换功能,即将输入位图中的每个像素的RGB值取反并创建一个新的输出位图。首先,创建了一个新的`Bitmap`对象`bmpOut`,并定义了输入位图`m_...
BitmapData对象是Flash中的位图数据容器,它存储了像素级别的颜色信息。你可以创建一个新的BitmapData对象,或者从现有的Bitmap或DisplayObject中获取。通过BitmapData对象,我们可以进行像素级别的操作,比如读取、...
ActionScript 3是Adobe Flash平台的核心编程语言,用于创建交互式富媒体内容,如网页游戏、动画和应用程序。BitmapData是ActionScript 3中的一个关键类,它提供了对位图图像进行低级处理的能力。本篇文章将深入探讨...
BitmapData是ActionScript 3(AS3)中的一个核心类,它是处理像素数据的主要工具,广泛应用于游戏开发、图像处理和动画制作等场景。在AS3中,BitmapData类允许我们创建、读取、修改和操作位图数据,这些位图数据可以...
BitmapData.zip 文件是一个包含 Delphi 开发中使用的 BitmapData 单元的压缩包。这个单元主要是为了实现图像处理和颜色查找功能,对于 Delphi 开发者来说,它提供了一个高效且方便的工具来搜索和操作图像数据。让...
在这个主题中,我们将深入探讨BitmapData以及如何与自定义的Image工具类配合使用。 BitmapData类提供了对图像数据的低级别访问,包括设置和获取像素颜色、转换图像格式等操作。这个类通常用于创建、修改或分析图像...
BitmapData.pas 和 kbKernel.pas 这两个文件在IT领域中主要涉及到图像处理和自动化操作,特别是游戏或图形应用中的找图找色功能。在本文中,我们将深入探讨这两个关键概念及其在实际编程中的应用。 首先,...
在Flash中,可以使用BitmapData类来处理图像数据。BitmapData对象可以用于读取、写入和操作位图。例如,你可以将一个JPEG图像转换为BitmapData对象,然后进一步处理,如调整大小、裁剪或应用滤镜效果。 3. 字符与...
综上所述,"asp.net中使用flash实现在线拍照"涉及到的技术主要包括ASP.NET的服务器端编程、Flash的客户端交互以及网络通信。随着技术的发展,尽管Flash逐渐被淘汰,但其在历史上的重要作用不可忽视,而类似的功能...
在Flash中,我们可以使用ActionScript编程语言来控制动画和交互行为。 在这个实例中,核心知识点包括: 1. **ActionScript 3.0**:ActionScript是Flash中的编程语言,版本3.0提供了更高效、更面向对象的编程模型。...
1. **BitmapData类**:Flash中的`BitmapData`类是处理像素的主要工具。你可以使用它来加载图片,然后通过`draw()`方法绘制到舞台上。一旦图片加载到`BitmapData`,就可以对其进行各种操作,包括裁剪。 2. **Rect...
首先,我们需要了解Flash中的两种主要的图片加载方式:使用Loader类和使用BitmapData类。Loader类是ActionScript 3.0中用于加载图形内容的主要工具,包括图片、SWF文件等。BitmapData类则用于处理位图数据,它可以...
BitmapData是ActionScript 3(AS3)中的一个核心类,它是Adobe Flash Professional和Flex开发中的重要组成部分。这篇心得分享了关于使用BitmapData的一些高级技巧,以及如何利用它来提升图形绘制的效率和效果。...
在Flash中,卡马克算法还结合了位图操作和预处理技巧来优化资源加载。例如,它可能使用位图合并(Bitmap Blitting)技术,将多个小图像合并成一张大图,减少加载次数。这种技术称为精灵表(Sprite Sheet),可以有效...
在Flash中,摄像头控制是通过ActionScript实现的,ActionScript是Flash的编程语言,用于增加交互性和动态功能。 一、摄像头访问与初始化 在Flash中,首先需要获取对用户电脑上摄像头的访问权限。这可以通过`Camera....
delphi 找图找色 BitmapData.pas 使用方法请到原作者yeye55的blog查看, http://yeye55blog.blog.163.com/blog/static/19724102120111043252016/
2. **文件选择与预览**:在Flash中,使用FileReference类来实现文件选择。用户选择图片后,可以通过FileReference的load方法加载图片进行预览,同时也可以读取文件元数据,如图片尺寸和类型。 3. **图片方向修正**...
通过这种方式,我们可以根据用户的需求或者服务器返回的数据动态改变Flash中显示的图片和效果,使得Flash内容更加灵活和互动。 总结起来,FlashImages_FlashVars的概念涉及了Flash内容与HTML页面的交互,以及如何...
在Flash中,可以使用BitmapData对象的getPixels()和setPixels()方法获取和修改像素数据,然后比较两帧的差异。 四、光流法 光流法更复杂,它考虑了像素在空间上的连续性和时间上的连续性,通过求解像素的二维速度场...
在这个截屏库中,可能利用了`flash.display.BitmapData`类来创建屏幕快照,这个类允许开发者读取和写入像素数据,从而实现截图。`BitmapData.draw()`方法可以将舞台或者任何显示对象绘制到BitmapData对象上,为截屏...