이미지에서 알파 채널 제거


103

iOS 용 앱 아이콘이 있지만 Apple은 이미지에 알파를 허용하지 않습니다. 이 알파 채널을 제거하는 방법? 나는 내 친구가 나를 위해 이미지를 한 것처럼 나는 소스 파일이 없습니다.


5
이미지 편집기에서 PNG를 열고 알파 채널을 비활성화 한 상태로 다시 저장 하시겠습니까?
Alexander O'Mara 2014 년

1
수락 된 답변은 이미지 데이터를 잃고 불필요한 추가 단계가 있습니다. 대신 아래 솔루션을 참조하십시오. stackoverflow.com/a/38256612/5764320
Mycah

또한 이미지 데이터 손실없이 이미지를 드래그 앤 드롭하고 알파 채널을 제거 할 수있는 작은 도구도 만들었습니다. removealphachannel.com
Ali Nasserzadeh

답변:


48

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

하지만 실제 투명성이없는 한 투명성 채널이있는 아이콘을 제출해도 괜찮을 것 같습니다.


9
이로 인해 약간의 품질 손실이 발생하고 PNG 형식이 JPG 파일을 생성 할 때 얻는 일종의 아티팩트를 압축하는 데 적합하지 않기 때문에 더 큰 PNG 파일이 생성됩니다. 또한 Apple은 실제 투명성이없는 경우에도 알파 채널이있는 PNG 이미지를 거부합니다.
philwilks

이전 버전의 macOS Sierra를 사용해 보았고 작동했습니다.
Bhaumik Desai 2011

10
PNG로 내보내는 동안 실제로 "알파"확인란을 선택 취소 할 수 있습니다. 먼저 JPG로 내보낼 필요가 없습니다.
Petr Peller

이미지 채널을 4에서 3으로 줄이기 위해 이미지 데이터에 대한 작업을 수행하는 방법은 무엇입니까?
voldikss

5
투명도가 이미지에 표시되는지 여부에 관계없이 투명 채널이있는 모든 PNG는 허용되지 않습니다.
gbarnett

240

JPG로 내 보낸 다음 다시 PNG로 내보내는 데 허용되는 답변은 권장되지 않습니다.

  • 프로세스의 추가 단계 (2 개 내보내기)
  • JPG는 손실이 있으므로 일부 이미지 데이터가 손실됩니다.

다음은 추가로 내보내거나 (손실이있는) JPG로 저장하지 않고도이 작업을 수행하는 매우 빠르고 쉬운 방법입니다.

미리보기 앱 사용 (Mac) :

  1. 이미지 열기
  2. Command-Shift-S to Duplicate (사본 생성)
  3. 저장할 Command-S
  4. "알파" 체크 상자 선택 해제
  5. 파일 이름 (공백 포함) 에서 "사본"삭제
    • 이렇게하면 원본을 덮어 씁니다. 원본을 유지하려면 이름에 "사본"만 남겨 둡니다.
  6. 저장
  7. 원본을 덮어 쓸 것인지 확인 하려면 '교체'클릭하십시오.
    • 원본을 덮어 쓰는 경우에만 필요합니다. 알파 채널 제거

2
^ 이것은 더 나은 대답, IMHO입니다. JPG는 알파 채널을 지원하지 않으므로 LOSSLESS 형식을 사용하고 알파 채널을 처리 할 수 ​​있습니다 (피하는 대신).
코디 - PHP - jQuery를

4
iTunes Store 팀이 시계 앱 아이콘에이 오류 (알파 채널)를 표시하는 이유를 이해하지 못합니다. 이전 버전에서는 올바른 것으로 간주됩니다. 잃어버린 시간! Apple Inc 감사합니다!
Markus

무손실 솔루션에 감사드립니다!
Shchvova

10
macOS High Sierra에서 미리보기는 확인란이 선택되지 않은 경우에도 항상 알파 채널과 함께 PNG를 저장하는 것처럼 보입니다. 저장된 파일을 열면 정보 상자에 항상 "Has Alpha : 1"이 표시됩니다. 모금 도구도 나에게 알려줍니다 hasAlpha: yes. 또한 iTunes Store는 원하지 않는 알파 채널에 대해 불평합니다 ( "Operation Failed – App Store 아이콘… 투명하거나 알파 채널을 포함 할 수 없습니다").
Stefan

2
@Psychomentally에서 언급했듯이 ImageMagick은 마침내 나를 위해 일했습니다 convert in.png -alpha off out.png. 레. 미리보기 : 내보내기 대화 상자에서 "알파"를 켜거나 끄면 예상 파일 크기가 변경되지만 저장하면 항상 알파 정보 (및 해당 크기)로 파일이 기록됩니다.
Stefan

55

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

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

1
이 대신에 24 비트의 8 비트의 출력 이미지를 제공
스테판 Yakovenko 보낸

당신은 변경하는 경우 -alpha remove -alpha off $i;-alpha remove -alpha off png24:$i; 출력됩니다 24 비트 PNG
로렌스 라이어 슨 데이비스 IV

37

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


4
이 방법을 사용했지만 MacOS High Sierra에서는 JPG를 출력으로 선택하지 않는 한 미리보기에서 알파를 선택 취소해도 아무 작업도 수행되지 않습니다. PNG를 열고 알파없이 PNG 내보내기를 시도하고 새 PNG를 열면 알파 채널이 있습니다.
Dan Loughney 2017 년

High Sierra (10.13.4)에서 나를 위해 일함
fl034

14

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

여기에 이미지 설명 입력


13

imagemagick을 사용해 볼 수 있습니다 (다른 크기에 맞게 쉽게 크기 조정) :

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

cmd bash에서 png 파일을 어떻게 선택합니까
Marlhex

Marlhexs-MacBook-Pro : Edgar marlhex $ ls LUNCH SCREEN.jpg nuevo icon-5.png LUNCH SCREEN.png nuevo icon-51024 copy.jpg nuevo icon-5.jpg nuevo icon-51024.png Marlhexs-MacBook-Pro : Edgar marlhex $ nuevo icon-51024.png -bash : nuevo : 명령을 찾을 수 없음
Marlhex

9

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

iTunes Store 작업 실패

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

Finder에서 자산을 찾고 정보 (⌘ + i)를 조회하여 내 앱 스토어 아이콘에 알파 채널이 포함되어 있음을 확인했습니다. 추가 정보 아래에 다음이 표시되었습니다.

알파 채널 : 예

알파 확인란을 선택하지 않은 채로 내 보내서 알파 채널을 제거하는 미리보기를 사용하는 위의 솔루션을 찾았지만 알파 채널을 제거하는 데 필요한 18 개의 자산이 있었기 때문에 일괄 내보내기 방법을 찾았습니다.

일괄 내보내기 작업을 수행하는 방법은 Finder에서 모든 앱 아이콘 자산을 선택> 오른쪽 클릭> 열기 (또는 미리보기로 열기)

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

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


1
나는 똑같이 시도했지만 High Sierra에서 더 이상 작동하지 않습니다. 알파 채널은 미리보기에서 제거되지 않습니다.
Satheeshwaran

6

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

Mac : 미리보기 버전 9.0 (macOS Sierra)은 이미지를 내보내거나 저장하는 경우 알파 채널을 제거 할 수 있습니다.

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


2
애플이 주요 사건이 최근 마른 세수 문제를 .... 높은 시에라 옵션과 많은 사람들이 여기에있는 이유 막아을 무시하고, 엑스 코드 갑자기 때문에 아이콘 투명성의 애플리케이션 업로드 할 수 없습니다
MobileVet

4

Flutter 애플리케이션의 맥락에서 동일한 문제가 발생하여 이미지의 알파 채널을 제거 할 수있는이 작업을위한 간단한 웹 사이트를 만들었습니다.

알파 채널 제거

기본적으로 브라우저에서 직접 웹 어셈블리를 사용하여 ImageMagick을 실행하므로 이미지가 업로드되지 않으며 Gimp와 같은 다른 도구가 필요하지 않습니다.


2

알파 확인란이 더 이상 미리보기에 없습니다.


여전히 볼 수 있고 사용할 수 있습니다. 파일을 내 보내야합니다.
Oscar

2
두 번째로 할 수 있습니다. 사라졌습니다.
Wep0n

2

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


0

Nikita Pushkar의 매우 멋진 솔루션을 다음에서 찾은 모든 iOS 아이콘을 변환하는 쉘 스크립트에 넣었습니다 res/icon/ios.

사용할 수없는 경우 brew를 사용하여 imagemagick을 설치하므로 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

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.