画像のファイル形式を変換させには?


マグ  2004-07-04 21:20:50  No: 114494  IP: [192.*.*.*]

画像をDLLファイルに変換させるにはどのようにソースを記述すればいいか教えてください。

お願いします。

編集 削除
Say  2004-07-05 08:59:13  No: 114495  IP: [192.*.*.*]

大雑把にいうと、画像はデータでDLLはプログラムです。
「データをプログラムに変換したい」とは
具体的に何をしたいのでしょう?

編集 削除
GSX  2004-07-05 21:53:23  No: 114496  IP: [192.*.*.*]

リソースに埋め込みたいのでは?

編集 削除
いちゆ  2004-07-06 00:29:05  No: 114497  IP: [192.*.*.*]

そういえば、全然関係ないが、実行可能ファイルのことをイメージファイルって言うよなぁ…
…まさか?

編集 削除
マグ  2004-07-06 11:11:57  No: 114498  IP: [192.*.*.*]

>そういえば、全然関係ないが、実行可能ファイルのことをイメージファイルって言うよなぁ

そうだったのですか?
今まで、知りませんでした。

実は内容を言いますと、
LZH形式のアイコンがないからレジストリ操作でアイコンを登録しようと考えて、
そこで、アイコンのあるZIP形式はどこにアイコンを置いているのだろうと
思い、調べてみましたら、びっくりしたことに、WINDOWSフォルダにアイコンが存在し、
それも、DLL形式になっていました。
ということでできないことはないんだと思い、
画像一度、DLLに変えてみようかな。
という気持ちになり、
探したのですけれど、見つからなかったため、この掲示板に書き込んだ
のですけれど、知っている方がいますか?
いるのならば、教えてください。
お願いします。

編集 削除
Dental  2004-07-06 11:44:28  No: 114499  IP: [192.*.*.*]

> 画像をDLLファイルに変換させるにはどのようにソースを記述すればいいか教えてください。

あれは、画像をDLLに変換してあるというよりも、むしろ
exeやDLLのリソースに画像が格納されている、という状態かと。

…リソースというのはわかりますか?
VB6なら、リソースエディタ アドインで指定し、
LoadResPicture でロードする時に使われる *.res ファイルです。
(Visual Studio.NETなどにも、リソースの作成機能がありますね)

手動で作成する場合は、リソーススクリプト(*.rc)という
テキストを作成し、それをリソースコンパイラにかける事で
生成する事ができます。

で。その*.resを、DLLのビルド時に取り込めば、DLL内に
画像を納める事ができます。

あるいは、*.res ファイルの拡張子が変更されている物もあります。

この場合、*.dll という拡張子が使われる事もありますが、
特にIconリソースのみが収められている場合は、それ自体が
アイコン ライブラリである事を示すため、*.icl という
ファイル名にする事が多いようです。

編集 削除
マグ  2004-07-06 13:04:30  No: 114500  IP: [192.*.*.*]

よく、わかりません。

詳しくお願いします。

環境:VB.NETです。

アイコンを作成したら、BMPなどで保存してから、
リソーステンプレートに取り込むということですか?

そして、リソーステンプレートで作ったものを
ライブラリーでDLLにするということですか?

まず、リソーステンプレート内にどうやって、アイコンを取り込ませるのでしょうか?
それと、、*.res の出し方も教えてください。
次に、そのファイルをどのようにライブラリーに取り込んで、
ビルドするのでしょうか?

編集 削除
マグ  2004-07-08 15:03:01  No: 114501  IP: [192.*.*.*]

やっとできました。

環境はVB.NETです。

まず、通常通りアイコンを作成します。

ファイル→新規作成→プロジェクト

そして、「プロジェクトの種類」のところで
Visual Basicプロジェクトを選択して、
次に、「テンプレート」のところで、
クラスライブラリーを選択して、
プロジェクト→〜〜のプロパティを選択します。
左のところで「全般」が選択されているのを確認したら、
「出力の種類」の所をWindows アプリケーションを選びます。
適用をクリックし、
左の所でビルドをクリックします。
アプリケーションのアイコンの所で
先ほど作ったアイコンファイルを選択し、
適用をクリックします。
また、左にある全般をクリックし、
出力の種類の所で、
クラスライブラリーを選択します。
適用をクリックし、OKをクリックします。
次に、ビルド→ソリューションのビルド→ファイル→すべてを保存をクリックします。
そして、作られたDLLファイルにアイコンが入っています。
最後に、最初に作ったアイコンファイルを削除します。

でやりましたが・・・
この方法だと問題があるという方がいましたら、教えてください。

次に、
アイコン自体に環境などには影響がないんですが・・・
DLLファイルだと、ランタイムが必要とか出てきますか?
もし、出てくるならば、
VB.NETとC++.NETではどちらがいいでしょうか?

編集 削除
…ゅ  2004-07-09 11:53:10  No: 114502  IP: [192.*.*.*]

….NET上だと、確実にランタイム(JITか...?)が必要だからなぁ。
可能ならば、icoファイルのまま、何かリソースファイルを作ったほうがいいとおもう。
…アイコンライブラリとかかな。

編集 削除
マグ  2004-07-09 16:32:46  No: 114503  IP: [192.*.*.*]

アイコンライブラリーですと、

レジストリ操作でアイコン登録したときにアイコンが表示されてくれないため、DLLファイルにしたんです。

.NET系ならどのような言語であってもランタイムが必要になるってことですか?

あと、その.NET系のランタイムって何処で配られていますか?
理由は.NET系で自分で作って、このランタイムがなかったら
ランタイムをダウンロードしてください。ッという形式で書き、
ダウンロードできる所にリンクを張るようにしたいのですが、
わかるならば、教えてください。
お願いします。

編集 削除