iOS 앱 아이콘을 ffmpeg 명령을 사용하여 알파 채널 없이 각 크기를 토출

4468 단어 XcodeiOSSwiftffmpeg

소개



ios 앱 아이콘은 다른 크기의 이미지를 많이 만들어야합니다.
그래서 이것이 엄청 귀찮기 때문에, 그를위한 도구가 여러 가지 있으므로 우선은 이것들을 시도해 보는 것이 좋습니다.

가장 쉽게 웹 앱에서 할 수있는 것이 여기
appicon

Mac 앱으로 할 수있는 것이 여기입니다.
Image2icon

발생한 문제 ~ 알파 채널이 추가됩니다 ~



이번에 자신은 illustrator에서 아이콘을 그려 이미지로 export했습니다.
그리고 위의 도구로 아이콘을 만들고 App Store Connect에 업로드하려고하면 다음과 같은 오류가 발생했습니다.

Error ITMS-90717: "Invalid App Store Icon. The App Store Icon in the asset catalog in 'YourApp.app' can't be transparent nor contain an alpha channel."



알파 채널이 포함되어 있기 때문에 사용할 수 없다고 하는 것이군요.
과연 내보낸 아이콘에 알파 채널이 포함되어 있군요라는 것으로 확인해 보면 포함되어 있지 않습니다.



여러가지 시험해 보았습니다만, 어느 툴을 사용해도 내보낸 후의 화상에는 알파 채널이 포함되어 버렸습니다.


해결책 ~ ffmpeg로 크기 조정 ~



미리 1024px x 1024px 이미지 정보 Mac 미리보기 응용 프로그램 등을 사용하여 알파 채널을 제거합니다.
파일 > 내보내기에서 알파 채널을 선택 취소하고 저장합니다.



준비한 이미지에 ffmpeg를 사용한 shell script를 사용하여 다른 크기의 이미지를 단번에 만듭니다.

multi_size_image_export.sh
# Export ios app icons by ffmpeg scale command
# usage: sh export_ios_icons.sh {path_to_your_img}
# example: sh export_ios_icons.sh ./app_icon.png

# sizes of images
# you can get other size images by editing thisarray
size=(20 40 60 29 58 87 80 120 180 76 152 167 1024)
for i in "${size[@]}"
do
   : 
    ffmpeg -i $1 -vf scale=$i:$i output_$ix$i.png
done

gist

만들고 싶은 이미지 크기를 배열로 유지하고,
여기에서 크기 조정된 이미지를 생성합니다.
ffmpeg -i $1 -vf scale=$i:$i output_$ix$i.png
# ex) ffmpeg -i $1 -vf scale=1024:1024 output_1024x1024.png

런타임은 이런 식으로합니다.
sh multi_size_image_export.sh icon.png

실행하면 아래와 같이 각 화상 사이즈의 아이콘이 출력되어 알파 채널이 없는 상태도 훌륭하게 유지되고 있군요!



축하해

(나중에 깨달았지만 원래 jpg로 하면 이런 문제 전혀 일어나지 않았을지도...)

좋은 웹페이지 즐겨찾기