【问题标题】:How to convert Bitmapdata to Base64 format?如何将 Bitmapdata 转换为 Base64 格式?
【发布时间】:2014-03-04 04:30:32
【问题描述】:

是否有任何示例有助于从 Bitmapdata 生成基于 Base64 的图像? 我知道我必须在位图数据中使用编码,但我不知道如何使用它?

需要 (rect : flash.geom.Rectangle, 压缩器 : flash.utils.Object, ?byteArray : flash.utils.ByteArray) : flash.utils.ByteArray;

如果我想使用 jpeg 压缩,如何填充压缩器?

另外,byteArray 的输入是什么? 有什么帮助吗?

【问题讨论】:

    标签: haxe openfl


    【解决方案1】:

    AS3 doc of BitmapData.html#encode()中有一个例子:

    // Compress a BitmapData object as a JPEG file.
    var bitmapData:BitmapData = new BitmapData(640,480,false,0x00FF00);
    var byteArray:ByteArray = new ByteArray();
    bitmapData.encode(new Rectangle(0,0,640,480), new flash.display.JPEGEncoderOptions(), byteArray);
    

    要生成 Base64 字符串,可以使用haxe.crypto.Base64(在 3.0.1 之后添加)。 在 OpenFL 中,ByteArray 扩展了 Bytes。所以你可以简单地将它提供给Base64.encode

    【讨论】:

    • 谢谢,对于AS3,byteArray被传递给encode方法,为什么openFL encode返回byteArray?不是已经通过引用发送了吗?
    • 哦,确实,查看 OpenFL 中的 method signature of BitmapData.html#encode(),似乎它总是为您创建 ByteArray,而不是让您传递一个 byteArray 供它写入。它绝对应该遵循 AS3 的签名。随时报告问题。
    • 嗯...另外,OpenFL 中的格式参数只接受"png""jpg",但不接受JPEGEncoderOptions 或任何东西...
    • 我看到它接受flash.utils.Object,这让我很困惑,我使用polygonal-gl的开源库的任何方式,我认为它对我有用轻松
    猜你喜欢
    • 1970-01-01
    • 2016-12-31
    • 2014-07-06
    • 2023-03-15
    • 2020-10-26
    • 2021-01-13
    • 2015-11-17
    • 2020-09-03
    • 1970-01-01
    相关资源
    最近更新 更多