ImageSnapshot.captureImage()メソッドを使用して、高さ2305ピクセル、幅1134ピクセルのマップ画像をスクリーンキャプチャしています。次に、その画像を高さ1100ピクセル、幅775ピクセルの画像にクリップしようとしています。
public function grabScreenMapImage2():void {
// use ppi of 100 for testing
var ppi = 100;
var mapHeightInPixels = 1100
var mapWidthInPixels = 775
var snapImage:ImageSnapshot = ImageSnapshot.captureImage(myMap, ppi, new JPEGEncoder());
var bitmapData:BitmapData = new BitmapData(mapWidthInPixels, mapHeightInPixels);
var pixels:ByteArray = new ByteArray();
pixels = snapImage.data;
pixels.position = 0;
var clipRect:Rectangle = new Rectangle(0,0,mapWidthInPixels, mapHeightInPixels);
bitmapData.setPixels(clipRect, pixels);
}
ただし、エラー#2030が発生します。setPixels()の呼び出しでファイルの終わりが検出されたため、一生の間、その理由を理解できません。
どんな助けでも大歓迎です!
ありがとう、
DrBacchus