0

最もシンプルな落書きアプリ。このコードは、デスクトップと Android で正常に動作します。iOS (実際のデバイス - iPad 2 でテスト済み) で同じことをしようとすると、次のエラーが発生します: ArgumentError: エラー # 2015: Invalid BitmapData.

原則として、BitmapData のサイズが非常に大きいというエラーの理由は明らかです。

なぜそれが起こるのですか?なぜ iOS だけなのですか?

private var maskLine:Sprite = new Sprite();
stage.addEventListener(MouseEvent.MOUSE_MOVE,onMove);
stage.addEventListener(MouseEvent.MOUSE_DOWN,onDown);
stage.addEventListener(MouseEvent.MOUSE_UP,onUp);

protected function onDown(ev:MouseEvent):void {
maskLine.graphics.lineStyle(20, 0x33CC00, 1);
maskLine.graphics.moveTo(mouseX, mouseY);
stage.addEventListener(MouseEvent.MOUSE_MOVE, onMove);
}
protected function onUp(ev:MouseEvent):void {
    stage.removeEventListener(MouseEvent.MOUSE_MOVE, onMove);
}

protected function onMove(ev:MouseEvent):void {
    maskLine.graphics.lineTo(mouseX, mouseY);
}

ビットマップ コードで保存します。

        maskLine.filters = [new BlurFilter(4, 4, 1)];
        trace (Capabilities.screenResolutionX + '   ' + Capabilities.screenResolutionY + '  ' + maskLine.width + '   ' + maskLine.height);
    //768    1024    107374182.35    107374182.35
// Here is get error
        var bmpd:BitmapData = new BitmapData(maskLine.width, maskLine.height, true, 0x000000);
        bmpd.draw(maskLine);
4

1 に答える 1

1

要求されたとおり、ここに答えがあります。

于 2012-06-05T05:43:53.020 に答える