- ベストアンサー
外部の画像ファイル(bmp等)を表示
外部の画像ファイル(bmp等)を表示させたいのですが、 ActionScriptで方法があるのでしょうか? サンプルページ等あれば教えてください。 例としては、下記のようなものです。 ・フルパスを入力してボタンを押すと画像を表示させる よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
まず,前置きです。 前置きですが重要です。 ・・・前置き・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ そもそも BMP は Windowsが標準でサポートしている画像形式であって,他のOSでは使えません。 機種依存画像形式と言うべきでしょうか? だから,当然のごとく,Flash Player ではサポートしていません。 サポートしたところで,「こっちでは見えない」「こっちでは見える」という不具合が発生するだけです。 「Macromedia Flash Player 8 リリースノート」 http://www.macromedia.com/support/documentation/jp/flashplayer/8/releasenotes.html より,引用。 「GIF、PNG、および JPEG のサポート」 この機能では、GIF、PNG、および プログレッシブ JPEG ファイルの動的ロードをサポートします。 しかし,これは Flash Player 8 のもので, Flash Player 7以下のバージョンを利用する場合,GIF, PNG, プログレッシブJPEG の表示はできません。 お使いのバージョンがわかりませんが, 無難に言うなら,プログレッシブでない,普通のJPEGなら,SWFの外部からロードして表示できると思います。 ただし,これは Flash Player のバージョンの話です。 例えば,FlashMX で SWF を作って, ムービープレビューや,スタンドアローンの Plash Player で見えなくても, ブラウザの Flash Player のバージンが 8 であれば, ブラウザを通したときだけ見えるということもあります。 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ という前置きを前提に説明します。 >> ・フルパスを入力してボタンを押すと画像を表示させる フルパスって何でしょうか? 少なくともすぐ思いつくだけで,3パターンあります。 1 ローカルPCのSWFから,ローカルPC内のフルパス (例 C:\Docment and Setting\~)を入力し SWF内に画像をロードする。 2 ローカルPCのSWFから,Web上のフルパス (例 http://www.macromedia.com/~)を入力し SWF内に画像をロードする。 3 Web上のSWFから,Web上のフルパス (例 http://www.macromedia.com/~)を入力し SWF内に画像をロードする。 まだ,他にもあると思います。 「Macromedia Flash Player 7 におけるセキュリティの変更について」 http://www.macromedia.com/jp/devnet/flash/articles/fplayer_security_02.html も参考にしてもらって,ご自分で実験してみてください。 画像の種類やFlashのバージョンやフルパスの定義によってケースがたくさんありすぎて, 全ての場合を実験するのは不可能です。 普通は自サイト内の画像を,自サイト内のSWFから相対パスでロードするものです。 普通の使い方でない場合は自分でやってみないとわかりません。 ~ 方法 ~ まず,新規ドキュメントを作成します。 ステージ上に「テキスト入力のテキストフィールド」「ボタン」「ムービークリップ(MC)」を用意します。 ステージを図示すると,下のようなレイアウトが良いと思います。 ----ステージ--------------------------------- [ テキストフィールド(長め) ] [ ボタン ] ┌──┐ │MC │ └──┘ ・・・この下は十分なスペースをあけておく・・・ ------------------------------------------- テキスト入力のテキストフィールドを選択し, 下のプロパティパネルで "変数名" を付けます。 この説明では urlTXT という変数名を付けておきます。 ムービークリップを選択し, 下のプロパティパネルで "インスタンス名" を付けます。 この説明では loadMC というインスタンス名を付けておきます。 ボタンを選択し, 下のアクションパネルに以下のようなスクリプトを書きます。 ----------------------------- on (release) { loadMC.loadMovie(urlTXT); } ----------------------------- 「ムービークリップloadMCに変数urlTXTのものをロードしろ」 ということです。 これでパブリッシュ。 ローカルPCにおいて,FlashPlayer8で,Web上のJPEGをフルパスで読み込む実験をしただけですが, すくなくとも, http://www.macromedia.com/images/homepage/promos/flash_platform.jpg をテキストフィールドに入力し,ボタンをクリックすると, 画像が表示されました。 上の前置きでBMPは不可能だと説明しましたが,少なくとも普通のJPEGはOKではないでしょうか。 他のケースはわかりません。
お礼
とても詳細に説明していただき大変感謝しています。 おかげさまでうまく出来ました。 ありがとうございました。