【问题标题】:Embedded PNG: 1034 Type Coercion Failed嵌入的 PNG:1034 类型强制失败
【发布时间】:2015-08-10 05:34:49
【问题描述】:

每个教程都说要这样做,这曾经奏效:

[Embed(source="/../images/MyImage.png",mimeType="image/png",smoothing="true")]
private static var ImageClass:Class;

//[...]

var bitmap:Bitmap = new ImageClass();

同样,这曾经可以工作,但现在(当我使用 PNG 时)它给了我Error #1034: Type Coercion failed: cannot convert MyImage_png$3e9131867d9df437bb131fa0f25e1d80-479819629@c756f89 to flash.display.Bitmap.

注意这个方法也失败了:

var bitmap:Bitmap = new Bitmap(new ImageClass());

我做错了吗?如何将 PNG 嵌入位图? PNG 具有透明度,如果这很重要的话。

【问题讨论】:

  • var bitmap:Bitmap = new Bitmap(new ImageClass());无论如何都不会工作。
  • @BotMaster ,我知道;这里的其他常客之一回答说图像是作为 BitmapData 嵌入的,这是正确的做法,尽管在我指出不正确后他删除了他的答案。

标签: actionscript-3


【解决方案1】:

啊,终于明白了。如果在嵌入标签中启用平滑,图像不再是位图。这有效:

[Embed(source="/../images/MyImage.png",mimeType="image/png")] //NO SMOOTHING
private static var ImageClass:Class;

//[...]
var bitmap:Bitmap = new ImageClass();

【讨论】:

  • 我认为您可以在从此类实例化 Bitmap 到实例后添加平滑,以便您可以使用来自单个数据源的位图的平滑和非平滑版本(在事实上,如果您需要一个以上的位图并且不打算更改这些位图,最好有一个 BitmapDataImageClass 实例,然后创建引用该实例的位图。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-24
  • 1970-01-01
  • 2012-09-04
  • 1970-01-01
相关资源
最近更新 更多