gpt4 book ai didi

flash - 将 MovieClip 转换为 ByteArray

转载 作者:行者123 更新时间:2023-11-30 23:49:38 26 4
gpt4 key购买 nike

我必须将 MovieClip 转换为 ByteArray 并使用 POST 方法将其发送到 php。处理php的人说只需要发送ByteArray,并且可以从PHP端转换为JPG和PNG。当我构建在本地计算机上保存的选项时,使用了以下步骤。

  • 转换为位图数据
  • 在位图数据上使用 JPGEncoder 和 PNGEncoder
  • 然后分配给字节数组变量。

  • 因此,在这种情况下,在 JPG 和 PNG 的情况下使用了不同的字节数组来保存并且它起作用了。

    我在 Stackoverflow 中找到了将影片剪辑转换为 bytearray 的代码

    AS3: Export a MovieClip or Canvas to swf
    var buffer:ByteArray = new ByteArray();
    buffer.writeObject(MOVIE_CLIP_HERE);
    buffer.position = 0;
    buffer.writeBytes(...);

    缓冲区对象的writeBytes函数的参数应该是什么。假设影片剪辑的名称是 canvas_mc。

    我已经弄清楚了 php 部分。提前致谢。

    最佳答案

    你不使用 ByteArray.writeObject()并解析 MovieClip ..

    您需要使用 bitmapData.getPixels()返回 ByteArray表示位图的像素。

    这是一个快速示例:

    const WIDTH:uint = 100;
    const HEIGHT:uint = 100;

    var rect:Rectangle = new Rectangle(0,0,WIDTH,HEIGHT);

    // create BitmapData
    var bmd:BitmapData = new BitmapData(WIDTH,HEIGHT,true,0);
    bmd.draw(YOUR_MOVIE_CLIP);

    // your byte array
    var ba:ByteArray = bmd.getPixels(rect);
    trace(ba.length);

    基本上你想做的是使用 BitmapData.draw()获取您的 MovieClip 图形并将它们存储为 ByteArray。

    关于flash - 将 MovieClip 转换为 ByteArray,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6121063/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com