.ico 파일에 여러 크기를 포함 시키려면 어떻게합니까?


17

여러 크기의 이미지가 다른 .ico 아이콘을 보았습니다. 16x16, 32x32, 48x48, 128x128, 256x256. Windows에서 각 크기마다 기존 .ico 파일이있는 경우 여러 가지 크기를 지원하는 아이콘 파일을 어떻게 만들 수 있습니까? 이 작업은 200 개 이상의 파일로 수행하기를 희망하므로 cmd에서 수행하는 것이 이상적입니다.

답변:


28

ImageMagick (Windows / Mac / Linux)에는 convert여러 이미지를 하나의 아이콘으로 포장하는 것을 포함하여 많은 용도로 사용할 수 있는 명령 줄 도구가 포함되어 있습니다 .

convert 16.png 32.png 48.png 128.png 256.png -colors 256 icon.ico

이전 명령은 5 개의 PNG 이미지를 가져 와서 단일 .ico 파일로 결합합니다.

다른 답변과 달리이 방법은 배치 스크립트에서 쉽게 사용하여 여러 아이콘 파일을 자동으로 생성 할 수 있습니다. 내 프로젝트 중 하나에서 단일 벡터 이미지 (SVG)가 있고 Inkscape 를 사용 하여 다양한 크기의 png convert를 생성 한 다음 아이콘 컨테이너를 만듭니다. 이것은 bash 스크립트에서 축소 된 예입니다.

#!/bin/bash
for size in 16 32 48 128 256; do
    inkscape -z -e $size.png -w $size -h $size icon.svg >/dev/null 2>/dev/null
done
convert 16.png 32.png 48.png 128.png 256.png -colors 256 icon.ico

1
Man, 나는 convert그것을 볼 때마다 ImageMagick을 사용하는 새로운 방법을 배우는 것 같습니다 . 답변 해주셔서 감사합니다!
Suchipi

당신은 어떻게 반대를합니까? .ico포함 된 크기에 따라를 여러 PNG로 변환 하시겠습니까?
Flimm

2
@Flimm는 convert favicon.ico favicon.png생성 favicon-0.png, favicon-1.png프레임 내의 각 아이콘 등. 이미지의 크기를 알고 싶다면 identifypng 파일 에서 명령을 사용 하십시오.
Rob W

convert <icon.png> -resize 64x64inkscape 대신 자체
이미지 매직 크를

나는 추가 -dither None256 색의 기본 변환 내 아이콘에 약간의 노이즈를 추가하기 때문에 변환 명령에
제임스 로스에게

7

ImageMagick에 대한 더 나은 명령 :

convert in.jpg -define icon:auto-resize=16,48,256 -compress zip out.ico

1
이것은 실제로 큰 대답입니다. 파일이 실제로 변환되었는지 테스트하려면이 명령을 사용하십시오.identify out.ico
kumarharsh

5

김프 에서 무료로 할 수 있습니다 . 여기에 간단한 지침이 있습니다 .

인용 :

  1. 김프에서 이미지 열기
  2. 캔버스를 정사각형으로 만드십시오
  3. 레이어를 이미지 크기로 조정
  4. 64 픽셀과 같이 .ico 파일에서 가장 큰 크기로 레이어 크기 조정
  5. 레이어 복제
  6. 복제 레이어를 다음 크기로 조정
  7. .ico 파일에서 원하는 모든 크기에 대한 복제 / 크기 조정을 유지하십시오
  8. .ico로 저장

귀하의 경우 가장 큰 이미지로 시작하여 복제 된 각 이미지의 크기를 줄이거 나 새 레이어를 추가하고 원하는 특정 아이콘 이미지를 해당 레이어로 가져올 수 있습니다.


이 방법으로 여러 색상 심도를 어떻게 지원합니까?
Random832

개인적으로 그렇게해야한다고 말할 수는 없지만 이 게시물 은 김프가 저장시 각 레이어에 대한 색상 설정 대화 상자를 팝업해야한다고 말합니다.
techturtle

Gimp 2.8.16으로 내보내도록 선택해야하지만 몇 년 후 ico를 내보낼 때 색상 설정에 대한 대화 상자가 있다고 확신 할 수 있습니다.
Broots Waymb

1

다음 은 Rob W 에서 허용되는 답변입니다 . 크기 (16, 32 등)를 두 번 이상 입력하지 않아도되는 간단한 조정 방법이 있습니다.

#!/bin/bash
files=()
for size in 16 32 48 128 256; do
    inkscape -z -e "$size.png" -w "$size" -h "$size" logo.svg > /dev/null 2> /dev/null
    files+=("$size.png")
done
convert "${files[@]}" -colors 256 favicon.ico
unlink  "${files[@]}"

여기서 logo.svg우리가 원하는 크기 (더 작은 파일을 생성하는 입력 (소스) 이미지를 나타내고 16.png, 32.png우리는 다음 출력 (결과) 아이콘 파일로 조합 등) favicon.ico. 예를 들어 "16 24 32 48 64 72 128"과 같이 3 행의 크기 목록을 변경할 수 convert있으며이 스크립트는 여기 에 G-Man이 설명하는 기술 을 사용하여 파일 이름의 배열. 마지막으로 파일 이름 배열을 다시 사용하여 4 행에서 만든 PNG 파일을 연결 해제 (제거)합니다.


나는 명령이

convert logo.svg -define icon:auto-resize=16,48,256 -compress zip favicon.ico

( user400747의 답변에 제시된 것과 동일 ) 실제로 스케일링 된 비트 맵 이미지 (손실 된 품질) 및 레이어 배경 투명도가 손실되었습니다.


1
(1) 다른 사람의 대답을 본질적으로 복사했습니다. 당신이 그렇게하고 더 이상 아무것도하지 않으면 (예, 사람들은 때때로 그렇게합니다), 나는 당신의 대답을 삭제로 표시 할 것입니다. 당신이 작은 개선을했기 때문에 나는 그렇게하지 않습니다. 그러나 다른 사람의 저작물을 복사 할 때마다 인용 한 정보와 이름을 연결하여 원 저자를 인정해야합니다. (2) 의미가 무엇인지 설명하지 않고“이것이 더 유연합니다”와 같은 것을 말하지 마십시오. … (계속)
Scott

(계속)… (3) 타당한 이유가없는 한 항상 쉘 변수를 인용해야하며 자신이하고있는 일을 확실히 확신해야 합니다. 실제로, 쉘 변수를 인용하지 않고 사용하는 스크립트에서 내가 본 모든 예제 중에서 귀하의 것 (즉, Rob W 's )이 가장 나쁘지 않을 수 있습니다. 그러나 여전히 변수를 인용하는 것이 좋습니다. (4) 왜 unlink더 일반적인 대신에 사용 rm합니까?
Scott

1

여러 크기의 .PNG를 만들어 하나의 .ICO 파일로 병합하는 Windows 배치 파일 :

@echo off

set inkScape="C:\SOFTWARE\GRAPHIC\INKSCAPE\inkscape.exe"
set imageMagick="C:\SOFTWARE\DEVELOPER\IMAGEMAGICK\magick.exe"
set fileName=favicon
set importType=svg
set exportType=png
set exportDpi=300
set imageSizes=(16 24 32 48 57 60 64 70 72 76 96 114 120 128 144 150 152 180 192 196 256 300 320 400 450 460 480 512 600)

for %%s in %imageSizes% do (
 %inkScape% -z -f %~dp0%fileName%.%importType% -w %%s -h %%s -e %~dp0%fileName%-%%sx%%s.%exportType% -d %exportDpi%
 echo CREATED: %fileName%-%%sx%%s.%exportType%
 set e=%fileName%-%%sx%%s.%exportType%
 call :concat (e)
)

%imageMagick% %exportFileNames%"%~dp0%fileName%.ico"
echo MERGED IN: %fileName%.ico

pause goto :eof


:concat (e) (
 set exportFileNames=%exportFileNames%"%~dp0%e%" 
)

.PNG 파일이 필요하지 않은 경우 .PNG 파일을 삭제하거나 제거하거나 제거 del FILE할 수있는 디렉토리 안에 모든 PNG 파일을 저장할 수 있습니다 (이후 %imageMagick% %exportFileNames%"%~dp0%fileName%.ico").

누군가에게 도움이되기를 바랍니다. :)


0

그것은 나의 의견이다 Axialis IconMaker이 아이콘 문제에 대한 최적의 솔루션입니다. 아마도 당신을 위해 문제를 해결할 30 일의 시험판이 있습니다.

나는 오랫동안 Axialis를 사용 해왔고 많은 프로젝트에서 정말 가치있는 제품임을 증명할 수 있습니다. 30 일이 필요하지 않습니다! 하아!


0

MSPaint는 파일 당 하나의 아이콘 만 지원하므로 타사 아이콘 편집 프로그램을 사용해야 합니다. 여기에는 아이콘 편집기에 대한 권장 사항 이 포함 된 몇 가지 스레드 가 있으며 일부는 무료이며 일부는 상업적입니다.

아이콘 편집기를 설정하면 아이콘 형식을 추가하는 방법은 다양하지만 일반적으로 비슷합니다 (버튼을 클릭하거나 메뉴 항목을 선택하여 새 형식을 추가). 대부분의 프로그램에서는 아이콘 형식 / 크기를 추가 할 때 아이콘 파일을 가져올 수 있지만 크기를 조정하여 기존 형식에서 새 형식 / 크기를 만들 수도 있습니다.

새 형식 / 크기를 추가 할 때 기존에서 작성 옵션 을 사용하도록 선택한 경우 크기 조정 알고리즘에 사용할 데이터가 가장 많으므로 이미 사용 가능한 가장 큰 아이콘 형식으로 작성하십시오. . 또한 XP / Vista 아이콘을 만들 때는 대부분의 프로그램이 처음부터 알파 채널을 만드는 데 능숙하지 않으므로 투명성 버전을 사용해야합니다.


200 개가 넘는 아이콘으로이 작업을 수행해야합니다. 해당 아이콘 편집기 중 하나를 배치로 실행할 수 있습니까?
Suchipi

1
배치 모드가있는 아이콘 편집기를 본 적이 없습니다. 배치 모드에서 이미지 편집기를 사용해 볼 수는 있지만 이미지 편집기가 다중 형식 아이콘을 지원하는지 확실하지 않습니다 (적어도 명령 줄 / 배치 모드에서는 지원되지 않음). 그렇다면 ImageMagick입니다. 또한 질문에 볼륨 및 배치 모드 요구 사항을 추가해야합니다.
Synetech

0

Matthias Benkmann의 png2ico 시도해보십시오 . 무료이며 여러 크기의 png를 단일 ico 파일로 압축 할 수 있습니다.


그러나 몇 가지 흥미로운 제한 사항이 있습니다.Width must be multiple of 8 and <256. Height must be <256.
Francois Botha
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.