アイコンを自作してみましたが、

解決


yTake  2016-11-17 20:43:10  No: 48413

yTakeです。
アイコンを自作した場合で質問があります。

BMPで作成し、フリーの変換ソフトでicoファイルへ変換しました。サイズも16、32、48、64、128、256を登録しました。
別のアイコン編集ソフトでこのicoファイルを読み込んでみましたが、各解像度別にアイコン画像が登録されていました。
現在作成中のソフトの"プロジェクト"メニューから"オプション..."の"アプリケーション"で、"アイコンの設定"から、"アイコンの読み込み..."ボタンをクリックし、上述icoファイルを選択しました。

ビルド構成やプラットフォームを確認の上、makeして生成されたexeファイルのフォルダーで、表示を特大アイコン、大アイコン、詳細、他、変えてみましたが、正しくアイコン表示が切り替わりません。
どうも、16x16か32x32のアイコン画像のみが使われている様子です。
念のため、他の構成等も確認しましたが、全て同様です。
実は、プロジェクトのオプションでアイコンを登録する前にFormのIconプロパティへ叙述アイコン(ico)を登録していました。
このFormのIconプロパティへのアイコン登録をクリアしても変わりませんでした。

試しに、プロジェクトを新規に作成し、そこで上述のアイコン(ico)ファイルを登録しmakeしてみましたが、正しく"表示"に応じたアイコン画像が表示されています。Formにはアイコンを登録していません。

プロジェクトの他の項目がアイコン表示に影響しているのでしょか?
基本的な事と思われますが、原因が分かりません。
チェックすべき点など、ご教授頂ければと思います。

当方、
DELPHI XE6、32bit Windows 10 pro / 4 GB RAM
です。
DELPHI XE6、64bit Windows 10 pro / 24 GB RAM
でも、試しましたが、同様でした。


take  2016-11-17 20:56:43  No: 48414

どのツールを使って変換しているかわかりませんが
サイズの他に使用する色数が一致されないと表示されない場合があります。

昔使ってたフリーのツールが有料になったんで今は
「アイコンウィザード」ってのを使って画像をアイコンに変換していますが
特に問題は発生していません。
Delphiの古いバージョンだとアイコン読み込んでコンパイルするときにエラーが出ますが
対応していないアイコンサイズや色数が原因のようです。


yTake  2016-11-17 22:09:38  No: 48415

早速のリプライをありがとうございます。

変換ソフトの問題はあるかもしれないと思い別ソフトで変換後を確認してみました。
変換ソフトは、"IconConverter"
確認に用いたのは、"PixelFormer"
です。

ただ、新規にプロジェクトを作成してそこへ上記アイコン・ファイル(.ico)を登録したら正しくアイコン表示される様ですので、アイコン・ファイルの側は問題ない様にも思えます。

「アイコンウィザード」を試してみたいと思います。


take  2016-11-17 22:42:44  No: 48416

見落としていました。新規の場合は表示されるのですね?

それであればツールやDelphiでは無くWindowsの問題かもしれません。
一度アプリから読み込まれたアイコンデータは高速化のためかキャッシュされるのですが
開発者がアイコンを変更してコンパイルしても
変更は無いと認識して、以前まで表示していたアイコンデータが使われる場合があります。

キャッシュファイル消す方法は下記に貼っておきます。

この問題、昔からあるんですが直らないものですかね。
http://freesoft.tvbok.com/tips/pc/desktop_icon.html


yTake  2016-11-17 23:41:37  No: 48417

解決しました。
「アイコンウィザード」を使用してicoファイルを作成しました。
24ビットカラーで各アイコンの解像度は同じにしました。(”IconConverter”では色の深さの指定はなかった様に思います)

ここで今一度IconConverterで作成したicoファイルを読み込み直してmakeしてみました。結果、アイコンは正しく表示されました。

結論的にアイコンデータのキャッシュと言うのが正解かもしれません。
アイコンウィザードでicoファイルを作成した際、IconConverterで作成したicoファイルとは名前を変えました。そして、プロジェクトのオプションから新しいicoファイルを読み込んだ際、オプション画面内のプレビュー画像が更新されました。
それまでは、同じicoファイルを上書きしながら使っていました。
DELPHI上ではアイコン画像の更新が行われても、元のicoファイルが変わらなかった為、アイコン画像が更新された情報がWindows側へ伝わらなかったのでしょう。

因みに、icoファイルを読み込んだ際の処理は常に”アイコンを・・・コピーし、名前を・・・に変更する。”を選んでいます。

取り敢えず、解決しましたので、ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加