最もシンプルな落書きアプリ。このコードは、デスクトップと 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);