外部ビットマップデータを読み込んで、ウィンドウ全面に表示されるように拡大・縮小を行います。ウィンドウのサイズが変更されたら、それに合わせてビットマップもリサイズします。
サンプルはこちら

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
package {
 
	import flash.display.Bitmap;
	import flash.display.BitmapData;
	import flash.display.Loader;
	import flash.display.LoaderInfo;
	import flash.display.PixelSnapping;
	import flash.display.Sprite;
	import flash.display.StageAlign;
	import flash.display.StageScaleMode;
	import flash.events.Event;
	import flash.net.URLRequest;	
 
	public class Main extends Sprite {
 
		public function Main() {
			var loader:Loader = new Loader();
			var info:LoaderInfo = loader.contentLoaderInfo;
 
			//ビットマップデータの読み込み
			loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
			loader.load(new URLRequest("image.jpg"));
 
			//ステージのスケールを固定で、原点を左上に
			stage.scaleMode = StageScaleMode.NO_SCALE;
			stage.align = StageAlign.TOP_LEFT;
 
			//ビットマップの読み込みが完了した時
			function onComplete(event:Event):void {
				var bmd:BitmapData = new BitmapData(info.width, info.height);
				var bm:Bitmap = new Bitmap(bmd, PixelSnapping.NEVER, true);
 
				//ビットマップを描画
				bmd.draw(loader);
				stage.addChild(bm);
				adjustBitmap(bm);
			}
 
			//ビットマップをステージのサイズに合わせる
			function adjustBitmap(bm:Bitmap):void {
				var inner:Number = bm.width/bm.height; //ビットマップの縦横比
				var outer:Number; //ステージの縦横比
 
				//ステージのサイズが変更された時
				stage.addEventListener(Event.RESIZE, transSize);
				transSize();
 
				//ビットマップを拡大・縮小
				function transSize():void {
					var size_x:uint = stage.stageWidth;
					var size_y:uint = stage.stageHeight;
 
					outer = size_x/size_y;
 
					//ビットマップ、ステージの縦横比を比較してサイズを変更
					if (inner >= outer) {
						size_x = size_x*(inner/outer);
					} else {
						size_y = size_y*(outer/inner);
					}
					bm.width = size_x;
					bm.height = size_y;
				}
			}
		}
	}
}

photo by : Josefrén