我正在使用存储一些位图的位图缓存。我在其中一些上调用了scaleX / scaleY,但是下次从缓存中检索时,Bitmap搞砸了。 scaleX / scaleY如何与Bitmap一起使用?
答案 0 :(得分:3)
这实际上取决于你的“缓存”及其实现方式,但是听起来它重用了Bitmap对象,并在它们之间共享BitmapData。假设,我可以告诉你以下内容:
Bitmap只是BitmapData的包装器,因此如果将转换应用于Bitmap,那么如果将新的BitmapData对象附加到Bitmap,这些转换仍将适用。听起来“缓存”没有在将Bitmap对象返回给你之前重置它们(作为一个新对象,但实际上它是一个回收对象)
因此,不是scaleX和scaleY在Bitmaps上的工作方式不同,而是“缓存”正在回收它们而不是重置它们。听起来你必须手动重置它们,你可以为你得到的每个“新”位图设置scaleX / y为1。
重申一下,我正在对缓存做出假设,但这似乎很可能。