2005年05月08日
川俣晶の縁側ソフトウェア画廊亭32開発日誌total 2603 count

サポート画像フォーマットを楽して拡大! C++のネイティブコードとmanagedコードの混在利用について執拗に調べている真の理由!!

Written By: 川俣 晶連絡先

 画廊亭32の作業は、とりあえずスクリーンセーバー本体と、BMP画像ドライバー、パン・ビュードライバーが最低限手動で記述した設定ファイルで動作する段階に達しています。

 しかし、この段階で一時中断して、C++のネイティブコードとmanagedコードの混在利用について調査を始めています。オータムマガジンをきっちり見ている人なら、それに関するコンテンツがしばしば書き込まれていたことが分かるでしょう。

 では、なぜ画廊亭32を中断してそれを調べていたのか?

 画廊亭32に飽きたのか?

 そうではありません。

 このまま、10年前の画像ドライバを復活させ、当時サポート対象としていた画像データのサポートを復活させることが、あまりリーズナブルではないと気付いたためです。

 具体的にリーズナブルではない理由はいくつかあります。

 まず、画像フォーマットそのものが進化しているケースがあること。10年前のコードは、それ以後の変更に対応していません。

 そして、当時と異なり、今時のOSは各種画像フォーマットのサポートを含んでいること。たとえば、GDI+や.NET Frameworkなどは(厳密にはOSに標準のモジュールではないにせよ)、多数の画像フォーマットを扱う機能を含んでいます。しかも、それらは非常に簡単に使えます。

 であれば、10年前の画像ドライバを復活させるよりも、OSの機能を呼び出す画像ドライバを新規に作成する方が楽だと考えるのも間違ったことではないと思います。

 手間もさほど掛からず、対応画像フォーマットは増えるのですから。

対応画像フォーマット(見込み)の比較 §

 10年前に標準で対応していた画像フォーマットは以下の通りです。

  • BMP
  • JPEG
  • GIF
  • MAKI/MAG
  • AVI

 MAKI/MAGは事実上、既に大きなニーズのない形式でしょう。

 AVIについては、必要があれば別途Windows Mediaに対応した新しいドライバを作る方が良さそうなので除外して考えます。とはいえ、本当にそれが必要か、それを作ることが好ましいかは要検討です。昔と異なり、今では長時間の動画ファイルも当たり前なので、たとえば30分の動画ファイルの再生を始めたら、30分間次の画像が出てこないことになり、画像スクリーンセーバーの趣旨に合いません。

 さて、.NET Frameworkを使った場合、利用できる画像形式は以下のようになります。

  • BMP
  • EMF
  • EXIF
  • GIF
  • ICON
  • JPEG
  • PNG
  • TIFF
  • WMF

 PNGが使えることは現状では大きな強みと言えます。

 EXIFに対応していることは、デジカメの撮影情報などを取り出して、別途表示する機能などへの発展の可能性を秘めます。

画廊亭独自の画像ドライバーそのものの廃止という検討課題 §

 実は、上記の画像形式と、Susieのプラグインに対応すれば、大抵のニーズはそれで満たされるのではないか、という気がしてきました。つまり、画廊亭独自の画像ドライバーというモジュールはもう必要ないのではないかと。

 それは1つの検討課題として認識したいと思います。

開発再開! §

 とりあえず、技術的に知りたいことはだいたい分かってきたので、ネイティブC++とManaged C++の混在という形で開発を再開しようかと考えています。

 C++/CLIつまりVisual C++ 2005を待つつもりはないので、ある程度作業がまとまった段階で公開できると思います。

Facebook

このコンテンツを書いた川俣 晶へメッセージを送る

[メッセージ送信フォームを利用する]

メッセージ送信フォームを利用することで、川俣 晶に対してメッセージを送ることができます。

この機能は、100%確実に川俣 晶へメッセージを伝達するものではなく、また、確実に川俣 晶よりの返事を得られるものではないことにご注意ください。

このコンテンツへトラックバックするためのURL

http://mag.autumn.org/tb.aspx/20050508020215
サイトの表紙【画廊亭32開発日誌】の表紙【画廊亭32開発日誌】のコンテンツ全リスト 【画廊亭32開発日誌】の入手全リスト 【画廊亭32開発日誌】のRSS1.0形式の情報このサイトの全キーワードリスト 印刷用ページ

管理者: 川俣 晶連絡先

Powered by MagSite2 Version 0.34 (Alpha-Test) Copyright (c) 2004-2018 Pie Dey.Co.,Ltd.