トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     flvのBitmapData.darwについて
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
ゲスト
Åê¹ÆNo.22337
投稿日時: 2005-12-19 19:08
flvのBitmapData.darwについて
はじめましてkohimotoと申します。
flvのBitmapData.darwについて質問させてください。

ステージ上にmy_videoという空のvideoを配置して
下記のようなスクリプトを書きました。

import flash.display.BitmapData;

var img:BitmapData;
this.createEmptyMovieClip("bit_mc", 1);//attachBitmap用MC

var FLVfile:String = "*****.flv";//読み込むflvファイル
var connection_nc:NetConnection = new NetConnection();
connection_nc.connect(null);
var stream_ns:NetStream = new NetStream(connection_nc);
my_video.attachVideo(stream_ns);
stream_ns.play(FLVfile);

stream_ns.onMetaData = function(meta_info:Object) {
	//ステージに配置したvideoをリサイズ&サイズを変数に
	w = my_video._width = meta_info.width;
	h = my_video._height = meta_info.height;
	//↓オリジナルvideoの下にのbit_mcを配置
	bit_mc._x = 10;
	bit_mc._y = h + my_video._y + 10;
	init();
};

function init():Void {
	//↓取得したvideoサイズでBitmapDataを作ってonEnterFrameでdrawを開始
	img = new BitmapData(w, h);
	bit_mc.onEnterFrame = function(){
		img.draw(my_video);
		//trace(img.width + "-" + img.height);
		this.attachBitmap(img, 1);
	}
}


なぜかdrawされたサイズが小さいです。
(デフォルトのvideoサイズ160*120になっています。)
img.draw(my_video);の下のtrace(img.width + "-" + img.height);
では正常なサイズ(読み込んだflvのサイズ==new BitmapData()で作ったサイズ)になっています。

img.draw(my_video, new Matrix(a = w / 160, b = 0, c = 0, d = h / 120, tx = 0, ty = 0), new ColorTransform(), "normal", img.rectangle, true);
とすればオリジナルと同じサイズになりますが、こういうものなのか、それともscriptがまちがっているのか、分かりません。
どなたかご教授ください。よろしくお願いします。
野中文雄
Åê¹ÆNo.22339
投稿日時: 2005-12-19 20:57
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: flvのBitmapData.darwについて
以下のように修正されると、いかがですか?
引用:
kohimotoさんは書きました:
ステージ上にmy_videoという空のvideoを配置して
下記のようなスクリプトを書きました。
import flash.display.BitmapData;
import flash.geom.Matrix;
var myMatrix:Matrix = new Matrix();
var img:BitmapData;
this.createEmptyMovieClip("bit_mc", 1);//attachBitmap用MC

var FLVfile:String = "*****.flv";//読み込むflvファイル
var connection_nc:NetConnection = new NetConnection();
connection_nc.connect(null);
var stream_ns:NetStream = new NetStream(connection_nc);
my_video.attachVideo(stream_ns);
stream_ns.play(FLVfile);

stream_ns.onMetaData = function(meta_info:Object) {
    //ステージに配置したvideoをリサイズ&サイズを変数に
    w = my_video._width = meta_info.width;
    h = my_video._height = meta_info.height;
    //↓オリジナルvideoの下にのbit_mcを配置
    bit_mc._x = 10;
    bit_mc._y = h + my_video._y + 10;
    init();
};

function init():Void {
    //↓取得したvideoサイズでBitmapDataを作ってonEnterFrameでdrawを開始
    img = new BitmapData(w, h);
    myMatrix.scale(my_video._xscale/100, my_video._yscale/100);
    bit_mc.onEnterFrame = function(){
        // img.draw(my_video);
        img.draw(my_video, myMatrix);
        //trace(img.width + "-" + img.height);
        this.attachBitmap(img, 1);
    }
}

なぜかdrawされたサイズが小さいです。
(デフォルトのvideoサイズ160*120になっています。)


----------------
 

ゲスト
Åê¹ÆNo.22347
投稿日時: 2005-12-19 22:53
Re: flvのBitmapData.darwについて
野中様

ご回答くださいましてありがとうございます。
やっぱりMatrixでサイズ調整するしかないのですね。。

引用:
img.draw(my_video, myMatrix);

Matrixまでしか使わないときは後はいらないんですね。
知りませんでした。

ありがとうございます。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops