2009-02-08 4 views
17

저는 py2exe를 사용하여 "compyled".exe에 아이콘 (.ico)을 삽입하려고했습니다.py2exe가있는 .exe에 아이콘을 포함하고 있습니까? Vista에서 볼 수 있습니까?

py2exe에이 아이콘 삽입하는 방법을 가지고있다 :

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

을 그리고 그게 내가 사용하고있는 것입니다. 아이콘은 Windows XP 이하에서는 정상적으로 표시되지만 Vista에서는 전혀 표시되지 않습니다. PNG 형식의 새로운 Vista 아이콘 형식 (최대 256x256 픽셀)이 그럴 것이라고 생각합니다.

Windows XP에서 아이콘을 깨지 않고 py2exe를 어떻게 실행 파일에 포함시킬 수 있습니까?

py2exe 대신 외부 유틸리티를 사용하여 멋지다. this command-line utility을 포함 시키려고했지만 항상 내 exe를 손상시키고 어떤 이유로 크기를 자른다.

답변

20

Vista는 256 × 256 픽셀 이미지, 그들은 PNG 기반 압축을 사용하여 저장됩니다 고해상도의 아이콘을 사용합니다. 문제는 단순히 아이콘을 만들고 표준 XP ICO 형식으로 저장하면 결과 파일이 디스크에 400Kb이됩니다. 해결책은 이미지를 압축하는 것입니다. 사용 된 압축 방식은 무손실 비율이 좋고 알파 채널을 지원하기 때문에 PNG (Portable Network Graphic)입니다.

그리고 그것은 1 이상의 PNG 년대에서 ICO 파일을 생성 등을 여러 크기를 처리 내가 XP가 아무 문제가없는 것 같아요

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

사용합니다.

+1

png2ico로 만든 아이콘이 작동하지만 png2ico가 내 아이콘의 256x256 PNG 버전 사용을 거부하면 크기가 더 작아집니다. ("너비는 8의 배수 여야하며 <256, 높이는 <256이어야합니다.")이 제한을 없앨 수있는 방법이 있습니까? –

+0

아마도 최대 해상도 255x255를 만드시겠습니까? 나는별로 달라 보이지 않을 것이라고 상상한다. –

+1

png2ico (최대 크기는 248)를 사용하여 올바른 아이콘을 생성하고 py2exe setup.py에서 올바르게 지정했으나 여전히 탐색기에 exe의 아이콘이 생성되었습니다. 리소스 해커는 아이콘이 exe에 포함되어 있지만 Explorer에는 표시되지 않음을 보여줍니다. 이것은 이상합니다. – James

4

헬무트 (Helmut)가 말한 것처럼 아이콘 크기의 순서가 핵심적인 것처럼 보입니다. 페이지를 뒤집으려면 (더 큰 것을 먼저), Windows 7에서 'include_resources'(Py2exe 0.6.9 사용)의 문제를 해결하십시오.

3

Greenfish Iceon Editor Pro에 대한 링크가 끊어졌습니다. 그물을 스캔하여 찾았습니다. Download IcoFX 내 .exe 파일에서 IcoFX 프로그램을 사용했는데 사실 내 아이콘이 포함 된 것을 볼 수있었습니다.

Image-> Create Windows Icons from Image를 사용하고 선택을 수락하면 win7과 win xp에서 모두 작동하는 새로운 .ico 파일이 있습니다.

그 전에는 내 단일 48x48.ico 파일이 프로그램의 아이콘으로 표시되지 않았습니다.

+0

IcoFX가 완벽하게 작동하고 로고의 알파 채널을 지원한다고 말하고 싶었습니다. Png2ico는 효과가 있었지만 아이콘이 픽셀 화되어 전문가 용 앱으로는 충분하지 않았습니다. 그래도 Png2ico는 무료이며 IcoFX는 무료가 아닙니다 (무료 평가판이있어 내보내기 할 수 있습니다). IcoFX에서 올바른 아이콘을 만들려면 정말 편리했습니다. 필자는 256x256 .PNG 형식에서 끌어서 놓기 만하고 저장을 클릭하면 Py2exe에서 작동하는 모든 형식의 Windows 아이콘이 만들어졌습니다. (구형 OS 용 저해상도 포맷 포함) – SilentSteel

4

32x32 픽셀 이미지가 포함 된 .ico 파일을 사용하여 Windows7에 py2exe로 아이콘 리소스를 포함시키는 데 문제가있었습니다. 나는 원래의 질문과 같은 방법을 사용했다.

일단 컴파일되면 exe의 아이콘이 사라집니다. 조사에서 아이콘은 Resource Hacker 도구에 따라 색인 0에 추가되지만 동일한 도구를 사용하여 아이콘을 바꾸면 색인 1에 추가됩니다. 색인 1에 오면 아이콘이 탐색기에 다시 표시됩니다.

필자는 Resource Hacker를 사용하여 exe post-build를 수정할 수 있으며 명령 줄 인터페이스를 통해 스크립팅 할 수 있지만 위에서 설명한 방법을 시도하여 png 파일을 역전시킨 후에 작동하도록 관리했습니다. .이 경우 myico248x248.png에, 당신이 다음 어쨌든 아이콘 인덱스 1에 자원을 채우는하는 특별하다고 파일에 여러 아이콘을 추가하여 그런데

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

.

+0

동일한 문제가있었습니다. 아이콘 파일에 여러 개의 이미지를 감 으면 마침내 작동합니다. –

+0

이 문제가 있었지만 'myicon248x248.png'는 여전히 리소스 0에서 끝납니다. https://stackoverflow.com/a/36116599/57461을 참조하십시오. – Pod

관련 문제