17

アイコン (.ico) を「コンパイル済み」.exe に py2exe で埋め込もうとしています。

Py2Exe には、アイコンを埋め込む方法があります。

windows=[{
    'script':'MyScript.py',
    'icon_resources':[(1,'MyIcon.ico')]
}]

そして、それが私が使用しているものです。アイコンは Windows XP 以前では正常に表示されますが、Vista ではまったく表示されません。これは、最大 256x256 ピクセルの PNG 形式の新しい Vista アイコン形式によるものだと思います。

では、Windows XP のアイコンを壊すことなく、py2exe を実行可能ファイルに埋め込むにはどうすればよいでしょうか?

私は py2exe ではなく外部ユーティリティを使用してそれを実行することでクールです-このコマンドラインユーティリティを埋め込んでみましたが、常にexeが破損し、何らかの理由でサイズが切り捨てられます.

4

4 に答える 4

20

Vista は高解像度256x256ピクセルの画像のアイコンを使用し、 PNG ベースの圧縮を使用して保存されます。問題は、単純にアイコンを作成して標準の XPICO形式で保存すると、結果のファイルが400Kbディスク上に作成されることです。解決策は、画像を圧縮することです。使用される圧縮スキームはPNG(Portable Network Graphic) です。これは、優れたロスレス比を持ち、アルファ チャネルをサポートするためです。

そして使う

png2ico myicon.ico logo16x16.png logo32x32.png logo255x255.png

ICO1つ以上の からファイルを作成し、PNG複数のサイズなどを処理します。XPでは問題ないと思います。

于 2009-02-08T10:06:26.560 に答える
4

32x32 ピクセルの画像を含む .ico ファイルを使用して、Windows7 で py2exe を使用してアイコン リソースを埋め込む際に問題がありました。元の質問と同じ方法を使用していました。

コンパイルが完了すると、exe のアイコンが消えます。Resource Hackerツールによると、調査時にアイコンはインデックス 0 に追加されますが、同じツールを使用してアイコンを置き換えると、インデックス 1 に追加されます。インデックス 1 になると、アイコンは魔法のように exe に対してエクスプローラーに再び表示されます。

どうしても必要な場合は、Resource Hacker を使用してビルド後の exe を修正し、コマンド ライン インターフェイスを介してスクリプトを作成することもできますが、上記で説明した方法を試し、png ファイルを元に戻した後に動作させることができました。

png2ico.exe myico.ico myico248x248.png myico48x48.png myico32x32.png myico16x16.png

ところで、複数のアイコンを ico ファイルに追加することで、いずれにせよアイコン インデックス 1 でリソースを設定することになります。この場合は myico248x248.png です。

于 2012-05-01T21:49:00.807 に答える
4

Helmut が言ったように、アイコン サイズの順序が鍵のようです。ページを反転すると (大きい方が先)、Windows 7 での「include_resources」の問題が解決されます (Py2exe 0.6.9 を使用)。

于 2011-06-01T09:21:52.467 に答える
3

Greenfish Iceon Editor Pro へのリンクが壊れています。私はネットをスキャンし、Download IcoFXを見つけまし た。自分の .exe ファイルで IcoFX プログラムを使用したところ、実際に私のアイコンが含まれていることがわかりました。

メニューの Image->Create Windows Icons from Image を使用し、選択を受け入れて、win7 と win xp の両方で動作する新しい .ico ファイルを取得しました。

それ以前は、私の単一の 48x48.ico ファイルがプログラムのアイコンとして表示されませんでした。

于 2012-01-30T23:38:49.003 に答える