programing

이미지에서 알파 채널 제거

cafebook 2023. 7. 2. 20:57
반응형

이미지에서 알파 채널 제거

iOS용 앱 아이콘이 있는데 애플은 알파가 이미지에 들어가는 것을 허용하지 않습니다.이 알파 채널을 제거하는 방법은 무엇입니까?저는 png 이미지만 가지고 있습니다. 제 친구가 이미지를 해준 것처럼 소스 파일은 가지고 있지 않습니다.

JPG로 내보낸 다음 PNG로 다시 내보내는 것은 허용된 답변이 아닙니다.

  • 프로세스의 추가 단계입니다(수출 2개).
  • JPG가 손실되어 일부 이미지 데이터가 손실됩니다.

다음은 (손실이 발생한) JPG로 추가 내보내기 또는 저장하지 않고도 매우 빠르고 쉬운 방법입니다.

미리보기 앱(Mac) 사용:

  1. 이미지 열기
  2. 복제할 명령-Shift-S(복사본 작성)
  3. 저장할 명령-S
  4. "알파" 확인란 선택 취소
  5. 파일 이름(공백 포함)에서 "복사본" 삭제
    • 원본을 덮어쓰게 됩니다. 원본을 보관하려면 이름에 "복사본"을 남겨 두십시오.
  6. 절약하다
  7. 원본을 덮어쓸지 확인하려면 '바꾸기'를 클릭하십시오.
    • 원본을 덮어쓰는 경우에만 필요합니다.

아이콘이 있는 디렉토리에서 모든 알파 채널을 제거해야 하는 경우 다음 명령을 사용합니다.

for i in `ls *.png`; do convert $i -background black -alpha remove -alpha off $i; done

Mac OS Mojave가 있고 "convert command not found"(변환 명령을 찾을 수 없음)가 있는 경우

brew install imagemagick

Homebrew를 설치하려면

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" < /dev/null 2> /dev/null

다른 이미지 편집기가 없다고 가정하면 Mac에서 미리 보기에서 이미지를 열고 내보내기 옵션을 사용하여 다른 형식으로 저장할 수 있습니다. 알파 채널을 제거하려면 JPG(최고 품질)로 내보낸 다음 PNG로 다시 내보내는 것이 가장 좋습니다.

그렇긴 하지만, 저는 당신이 실제 투명성이 없는 한 투명성 채널이 있는 아이콘을 제출하는 것이 괜찮다고 생각합니다.

미리보기 앱을 사용하는 경우 jpg와 png 간에 내보낸 후 다시 내보낼 필요가 없습니다. 내보내기를 선택하면 파일 형식(PNG) 아래에 알파 확인란이 나타나고 설정을 해제한 후 저장합니다.

다양한 크기에 따라 쉽게 크기를 조정할 수도 있습니다.

convert in.png -background black -alpha remove -alpha off -resize 1024x1024 out.png

먼저 이미지를 jpg로 내보낼 필요가 없습니다.미리보기 앱에서 알파 채널 확인란을 선택 취소하고 알파 채널 없이 png에서 png으로 직접 내보낼 수 있습니다.

enter image description here

내 앱을 iTunes 앱 스토어에 업로드하려고 할 때 다음 오류가 발생했습니다.

iTunes 스토어 작업 실패

오류 ITMS-90717: "잘못된 앱스토어 아이콘입니다.'MyApp.app'의 자산 카탈로그에 있는 App Store 아이콘은 투명하거나 알파 채널을 포함할 수 없습니다."

Finder에서 자산을 찾고 해당 정보(⌘+i)를 검색하여 내 앱스토어 아이콘에 알파 채널이 포함되어 있는지 확인했습니다.More info 아래에는 다음이 표시되었습니다.

알파 채널:네.

Alpha 확인란을 선택하지 않은 상태에서 Alpha 채널을 내보냄으로써 Preview를 사용하여 알파 채널을 제거하는 솔루션을 찾았지만 알파 채널을 제거하는 데 필요한 자산이 18개이므로 일괄 내보내기 방법을 찾았습니다.

내가 직장으로 일괄 내보내기를 하는 방법은 파인더 > 오른쪽 클릭 > 열기(또는 미리 보기로 열기)에서 내 앱 아이콘 자산을 모두 선택하는 것이었습니다.

이제 모든 자산이 동일한 창에 나타납니다.모두 선택(⌘+a)한 다음 파일 > 선택한 이미지 내보내기... > 옵션 확장 > 알파 확인란 선택 취소 > 선택(대상 폴더)

완료! 이제 알파 채널이 제거된 상태로 모든 이미지가 내보내집니다.

png에서 알파 채널을 제거하려면:

Mac에서: 이미지를 내보내거나 저장하면 Preview 버전 9.0(macOS Sierra)에서 알파 채널을 제거할 수 있습니다.

Preview 버전 10.0(944.2)(macOS High Sierra)은 알파 채널을 제거하지 않습니다.Export(내보내기) 및/또는 Save(저장) 모두 영상에서 알파 채널을 제거하지 않습니다.

Mac을 사용하고 있으므로 다음 번에는 Automator를 사용하고 싶을 것입니다.이미지를 BMP(무손실)로 변환하고 다시 PNG로 변환합니다.저장하고 음유시키면...

나는 니키타 푸슈카르의 매우 멋진 솔루션을 모든 iOS 아이콘을 변환하는 셸 스크립트에 넣었습니다.res/icon/ios:

사용할 수 없으면 브루를 사용하여 이미지 매직을 설치하기 때문에 Mac에서만 실행할 수 있을 것 같습니다.

#! /usr/bin/env bash
#
# remove alpha channel from PNG images when App Store upload fails
#
# taken from https://stackoverflow.com/a/52962485 - @Nikita Pushkar
#
# make sure to have brew installed, see https://brew.sh:
#   /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
#
# make sure to have imagemagick installed, see https://imagemagick.org:
#   brew install imagemagick
#

if command -v convert; then
    echo "imagemagick seems to be installed"
else
    echo "imagemagick not installed, trying to install ..."
    if command -v brew; then
        echo "brew is installed, using it"
    else
        echo "brew not installed, trying to install ..."
        /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    fi

    brew install imagemagick
fi

for i in `ls res/icon/ios/*.png`;
do
    echo "convert $i"
    convert $i -background white -alpha remove -alpha off $i;
done

저는 도구(어떤 형식으로든 이미지를 어떤 형식으로든 변환할 수 있는 모든 사용자)를 사용했습니다.다음은 단계입니다.

1. Transform all png images to jpeg
2. Transform the jpeg images back to png.

새 빌드를 업로드합니다.

언급URL : https://stackoverflow.com/questions/26171739/remove-alpha-channel-in-an-image

반응형