合并两个位图的问题

时间:2017-12-13 20:02:33

标签: android ios actionscript-3 bitmap cross-platform

我尝试将一个位图(png文件)添加到另一个位图之上,然后将其保存到设备中。除了第一部分外,一切正常。

我的代码:

  

1将加载的文件转换为位图

genBitmapData = new BitmapData(bgWidth, bgHeight, false);
genBitmap = new Bitmap(genBitmapData);
  

在应用内生成2秒位图

var positionMatrix : Matrix = new Matrix(1,0,0,1,0,0);
genBitmapData.draw(clonedBitmap, positionMatrix);
  

3将clonedBitmap(外部文件)添加到bitmapdata

bitmapData.draw(genBitmap, positionMatrix);

第三步的问题是加载的文件clonedBitmap最终位于app将其保存到设备存储器时生成的位图下。当我颠倒顺序时:

{{1}}

只有生成的位图显示/可见,而加载的位图在保存文件时根本不可见。我想要实现的是将clonedBitmap(外部png文件)放在genBitmap之上并使用BitmapData对象保存,这样我就可以将它保存到我的设备中。

我很感激任何提示。

2 个答案:

答案 0 :(得分:0)

在位图上绘制位图时,需要覆盖的位图在某处是透明的,否则所有较低位图的像素都会被上层覆盖。因此,使用alpha通道创建那些位图(transparency = true),确保上层位图在它上面绘制某个东西(至少在某处)后也是透明的,然后在单个上绘制第一个下层然后上层 BitmapData对象。

请注意,由于您不转换任何位图,因此最好使用BitmapData.copyPixels()方法。

答案 1 :(得分:0)

事实证明代码工作正常。我只是忽略了它并将其置于错误的功能中,这导致了这个问题。