- PR -

servlet上でswf形式のファイルの原寸の表示サイズ(高さ、幅を)取得するには

1
投稿者投稿内容
camry
会議室デビュー日: 2008/02/01
投稿数: 2
投稿日時: 2008-02-01 23:33
現在、jspとservletを使ってWebアプリケーションを開発しています。
そのアプリケーションの中にDBに登録してある画像ファイルを
表示(jsp上で)するという処理があります。

ファイル形式はjpeg,png,gif,swfです。

画像を表示するという処理に於いて、
要求されている機能に規定サイズ(原寸表示時の高さと幅)より大きいものは
規定のサイズに縮小し、
規定のサイズより小さいものは原寸で表示するというものがあります。

これを実現するには事前に(少なくともjspの段階で)画像のサイズを取得する必要が
あります。

通常の画像(jpeg,png,gif)であればjava上で原寸のサイズを取得することができるので、
サイズによって表示形式を変えることは可能なのですが、
swfをjava上でサイズ取得する方法が分かりません。

一旦原寸表示をしてjavascriptでサイズを修正するということは
可能なのですが、それではダメだと言われてしまいました。


何かよい方法はないでしょうか?
よろしくお願い致します。
いっきゅう
大ベテラン
会議室デビュー日: 2004/04/04
投稿数: 153
お住まい・勤務地: 兵庫
投稿日時: 2008-02-06 09:42

jswiffというオープンソースで
コード:
import java.io.*;
import com.jswiff.*;
import com.jswiff.listeners.*;
import com.jswiff.swfrecords.Rect;

public class Test {
	public static void main(String[] args) {
		String path = "****.swf";
		try {
			SWFReader reader = new SWFReader(new FileInputStream(new File(path)));
			SWFDocumentReader docReader = new SWFDocumentReader();
			reader.addListener(docReader);
			reader.read();
			SWFDocument doc = docReader.getDocument();
			Rect rect = doc.getFrameSize();

		} catch (Exception e) {
			e.printStackTrace();
		}

	}

}


こんな感じでRectからそれぞれの幅、高さを取得します。
その時、ピクセルに直すには20分の1にすれば希望のサイズが取れるかと思います。

camry
会議室デビュー日: 2008/02/01
投稿数: 2
投稿日時: 2008-02-06 14:09
ご丁寧なアドバイスありがとうございます。

早速確認してみます。
1

スキルアップ/キャリアアップ(JOB@IT)