将拉伸/旋转应用于位图的最简单方法似乎类似于以下内容:
bmp = //some bitmap
var bounds:Rectangle = getBounds(bmp)
var stretchX:Number, stretchY:Number, rotate:Number;
//assign stretch & rotate vars
var transform:Matrix = new Matrix(stretchX * Math.cos(rotate), -stretchX * Math.sin(rotate),
stretchY * Math.sin(rotate, stretchY * Math.cos(rotate));
bmp.bitmapData.draw(bmp, transform);不过,我听说,与位图和BitmapData类中的大多数其他方法相比,绘图方法效率低下。考虑到我的项目对低效率非常敏感(阅读:用于实时操作),我宁愿实现一些简单有效的东西,也不愿实现一些简单和低效的东西。在搜索了API之后,我似乎什么都想不出来.有什么想法吗,还是我一直在用抽签法?
发布于 2014-03-15 20:16:57
如果您只使用位图(BitmapData→BitmapData)。我建议使用clone(), copyPixels()方法并对结果应用转换:myClonedBitmap.transform.matrix = neededTransformations.
方法可以将位图数据从一个BitmapData对象复制到另一个对象。当调用该方法时,该方法返回一个新的BitmapData对象,该对象与复制的原始实例完全相同。 copyPixels()方法是将像素从一个BitmapData对象复制到另一个对象的一种简单快捷的方法。该方法获取源图像的矩形快照(由sourceRect参数定义),并将其复制到另一个矩形区域(大小相同)。新“粘贴”矩形的位置在destPoint参数中定义。
https://stackoverflow.com/questions/22425677
复制相似问题