iOS 앱 아이콘을 ffmpeg 명령을 사용하여 알파 채널 없이 각 크기를 토출
소개
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로 하면 이런 문제 전혀 일어나지 않았을지도...)
Reference
이 문제에 관하여(iOS 앱 아이콘을 ffmpeg 명령을 사용하여 알파 채널 없이 각 크기를 토출), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kazuooooo/items/6ed4d6818ef9cef0bb85
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
이번에 자신은 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로 하면 이런 문제 전혀 일어나지 않았을지도...)
Reference
이 문제에 관하여(iOS 앱 아이콘을 ffmpeg 명령을 사용하여 알파 채널 없이 각 크기를 토출), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kazuooooo/items/6ed4d6818ef9cef0bb85
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
# 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
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
Reference
이 문제에 관하여(iOS 앱 아이콘을 ffmpeg 명령을 사용하여 알파 채널 없이 각 크기를 토출), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kazuooooo/items/6ed4d6818ef9cef0bb85텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)