Hình ảnh không thể chứa các kênh alpha hoặc trong suốt


331

Apple đã phát hành phiên bản iTunes Connect mới và tôi đã nhận được thông báo lỗi khi tôi cố gắng đặt Ảnh chụp màn hình trên itunes kết nối cho ứng dụng của mình.

"Images can't contain alpha channels or transparencies." 

nhập mô tả hình ảnh ở đây


Điều đó không được đề cập trong Hướng dẫn dành cho nhà phát triển iTunes Connect: developer.apple.com/l
Library / ios / document / Lỗi

15
Đơn giản chỉ cần chuyển đổi hình ảnh sang định dạng JPG làm việc cho tôi !!
Jayprakash Dubey

1
Trình tải lên hình ảnh đầu tiên tôi tự viết có thể lấy bất kỳ kích thước jpeg, png hoặc gif nào, xoay chính xác và xuất ra một jpeg ở mức nén mong muốn. Rõ ràng tôi có thể tạo trình tải lên hình ảnh và Apple thì không. Và không giống như Apple, tôi không bao giờ mơ ước buộc người dùng của mình phải "ồ, chỉ cần loại bỏ alpha khỏi PNG một cách thủ công! Cho mọi hình ảnh!".
Henrik Erlandsson

Thật tệ khi xcode cho phép điều này khi iTunes Connect không hoạt động.
James T Snell

Câu trả lời:


262

AFAIK png với tính minh bạch không được phép. sử dụng jpg HOẶC cập nhật png của bạn (photoshop hoặc bất cứ thứ gì bạn sử dụng để tạo png) và xóa các vùng trong suốt. Nếu bạn làm việc với bóng, sử dụng jpg, điều đó sẽ không gây đau đầu.


Làm việc cho tôi cũng vậy.Thx
Honey

6
JPEG là mất mát, và đó là một ý tưởng khủng khiếp, khủng khiếp. Kiểm tra các câu trả lời khác và loại bỏ sự minh bạch.
Rudolf Adamkovič

3
Chỉ cần mở trong Preview và xuất ra JPEG đã giải quyết được vấn đề. Ảnh chụp màn hình thiết bị của XCode lưu trong PNG, đó là vấn đề. Chụp màn hình với thiết bị (nút home + nút nguồn) sẽ lưu ở dạng JPEG.
Anna Billstrom

33
Bạn có thể xuất sang PNG mà không cần alpha trong Preview. Chỉ cần mở hình ảnh của bạn, chọn xuất, chọn PNG, bỏ chọn Alpha và nhấp vào Lưu. Xem trước cũng hỗ trợ xuất hàng loạt nếu bạn mở tất cả hình ảnh của mình cùng một lúc.
Russell Ladd

1
Câu trả lời hay nhưng như tôi nhận thấy .jpg kết quả không tốt nên tôi chỉ mở hình ảnh trong Photoshop đặt lớp nền và đặt Màu trắng của nó để độ trong suốt của hình ảnh bị xóa và sử dụng hình ảnh này dưới dạng PNG.
Nitin Gohel

467

Tôi thấy bạn cũng có thể chỉ xuất lại png's trong Bản xem trước, nhưng bỏ chọn hộp kiểm Alpha khi lưu.

nhập mô tả hình ảnh ở đây


48
Thật nực cười khi iTunes Connect sẽ không chấp nhận ảnh chụp màn hình do Xcode tạo ra vì đó là cách họ khuyên bạn nên làm điều đó.
Joseph Toronto

Đối với một số lý do không thể giải thích, khi tôi làm điều này, nó cắt giảm một nửa kích thước và bây giờ là "kích thước sai" cho iTC! WTF Apple ???
mharper

13
Có thể hiểu rằng chỉ với 178 tỷ đô la tiền mặt trong tay, Apple không đủ khả năng để sửa lỗi ngớ ngẩn này và yêu cầu hàng chục ngàn nhà phát triển phải tự mình thực hiện thao tác này nhiều lần. Ừ
Nate

tôi có thể cho người này 100 phiếu để giải quyết vấn đề của mình không
Noor

2
nhấp đúp chuột vào ảnh "tập tin" -> "Xuất ..."
Arjay Waran

102

Nó rất dễ dàng...

Mở hình ảnh trong ứng dụng Xem trước bấm vào Tệp -> Xuấtbỏ chọn alpha


Điều này sẽ không hoạt động trên Mac OS High Sierra, vui lòng thử phiên bản thấp hơn để xuất mà không có alpha. Hy vọng nó sẽ giúp được ai đó.
Sediteshwaran

Giải pháp rất dễ dàng. Cảm ơn!
Lina T

Hoạt động tại Catalina. Thay thế bất kỳ độ trong suốt bằng màu trắng.
Marcy

85

Đối với điều này, tôi đã làm một công cụ đơn giản mới. Bạn có thể xóa kênh alpha (độ trong suốt) của nhiều tệp .png trong vài giây.

Công cụ gỡ kênh Alpha

Bạn có thể tải xuống từ đây http://alphachannelremover.blogspot.com


17
Cảm ơn bạn. Tôi ghét rằng Apple đã thêm một bước nữa vào quá trình chụp, lưu và gửi ảnh chụp màn hình đến cửa hàng iTunesConnect.
Andrew Smith

2
Công cụ này rất đơn giản nhưng khá hữu ích. Nếu không, tôi đã phải dành thời gian với Ứng dụng Xem trước của Apple để loại bỏ tính minh bạch từng cái một, rất tốn thời gian. Bây giờ có thể tạo nhiều tệp chỉ với một lần chụp.
bpolat

1
Rất tiện dụng, cảm ơn bạn! Đối với tất cả các lập trình viên Apple có, bạn nghĩ rằng họ có thể tự động tách kênh alpha. Tôi thề không có biểu tượng nào tôi tải lên có bất kỳ sự minh bạch nào, nhưng việc gửi không thành công chỉ vì chúng được lưu ở định dạng cho phép minh bạch. thở dài
devios1

2
Không có gì. Trên thực tế, tôi đã tạo ra chương trình cho chính mình vì thất vọng khi gửi ứng dụng của mình cho Apple sau đó quyết định chia sẻ nó với cộng đồng ở đây, đây là nguồn mở trên github, bạn có thể xem mã hoặc sử dụng cách bạn muốn.
bpolat

1
Hoàn hảo! Bạn đã tiết kiệm cho tôi một hoặc hai giờ hôm nay. 475 hình ảnh để tải lên do thiết kế lại!
Nancy

73

Sử dụng mogrifycông cụ từ ImageMagickgói để loại bỏ kênh alpha.

brew install imagemagick
cd folder_with_images
mogrify -alpha off */*.png

Cập nhật từ ngày 3 tháng 5

Bạn có thể biết liệu hình ảnh có chứa kênh alpha hay không bằng cách chạy:

sips -g all image.png

Trong trường hợp bạn kết xuất ảnh chụp màn hình trong Trình mô phỏng iOS, bạn có thể thả kênh alpha bằng cách chuyển BOOL opaque = YESđến UIGraphicsBeginImageContextWithOptions:

UIGraphicsBeginImageContextWithOptions(imageSize, YES, 0); 

3
Có thể đạt được đầu ra ngắn hơn để kiểm tra alpha bằng lệnhsips -g hasAlpha *.png
Anton Matosov

mogrify -alpha tắt 👍
hệ thống

27

Bạn phải xóa các kênh alpha khi tải ảnh lên iTunes Connect.

Bạn có thể thực hiện việc này bằng Xem trước, Ứng dụng Ảnh (iPhoto cũ), Pixelmator, Adobe Photoshop và GIMP.

Xem trước

1- Mở ảnh trong Bản xem trước (nếu ảnh nằm trong album ảnh của bạn trong ứng dụng Ảnh (iPhoto cũ), sau đó chỉ cần kéo ảnh từ album vào máy tính để bàn. Sau đó bấm chuột điều khiển (nhấp chuột phải khi chuột) ảnh trùng lặp và chọn Preview.app trong menu Open With).

2- Chọn Xuất ... trong menu Tệp và sau khi chọn đích, bỏ chọn Alpha ở dưới cùng và nhấp vào Xuất .

Tệp ==> Xuất ...

Alpha

Máy đo điểm ảnh

1- Mở hình ảnh trong Pixelmator, mà không tạo tệp Pixelmator mới . Chỉ cần kéo ảnh vào cửa sổ Pixelmator.

2- Từ menu Chia sẻ, nhấp Xuất cho Web ...

BUỔI CHIỀU

3- Trong thanh trên cùng, bỏ chọn Độ trong suốt .

4- Nhấp vào Tiếp theo và sau đó lưu tệp mới ở đâu đó.

Cuối cùng, tải ảnh mới lên iTunes Connect.

GIMP

1- Mở ảnh trong GIMP.

2- Mở menu Lớp .

3- Trong Độ trong suốt , nhấp Xóa Kênh Alpha .

4- Lưu ảnh.

Adobe Photoshop

1- Mở ảnh trong Adobe Photoshop.

2- Trong menu Layer , nhấp vào Layer Mask và sau đó từ Trans minh bạch .

3- Xóa mặt nạ lớp bằng cách nhấp chuột phải vào mặt nạ trong bảng điều khiển Lớp và chọn Xóa Mặt nạ lớp .


1
Điều này sẽ không hoạt động trên Mac OS High Sierra, vui lòng thử phiên bản thấp hơn để xuất mà không có alpha. Hy vọng nó sẽ giúp được ai đó.
Sediteshwaran

11

Nếu bạn đang sử dụng Photoshop, hãy vào File> Save for web (Command + Option + Shift + S). Hãy chắc chắn rằng Độ trong suốt được bỏ chọn và điều này sẽ hoạt động.


Lạ thật. Điều này làm việc cho hình ảnh duy nhất. Nhưng khi tôi cố lưu hành động và thực hiện xuất hàng loạt - kết quả hình ảnh vẫn có alpha.
kelin

6

Vẫn còn một vấn đề trong năm 2019: =)

Điều này hiệu quả với tôi: Chọn tất cả hình ảnh bạn muốn tải lên -> Nhấp chuột phải -> Mở trong Xem trước -> Xuất -> Bỏ chọn alpha -> Sử dụng hình ảnh đã xuất.


5

Trên Pixelmator, bạn có thể sử dụng 'Chia sẻ> Xuất cho Web ...' ( + + E)

nhập mô tả hình ảnh ở đây

và bỏ chọn Độ trong suốt trong Thanh Tùy chọn Công cụ.

nhập mô tả hình ảnh ở đây


5

Mở rộng câu trả lời Roman B. Đây vẫn là một vấn đề, tôi đã tải lên một ứng dụng cordova. giải pháp của tôi bằng cách sử dụng mogrify:

brew install imagemagick
* navigate to `platforms/ios/<your_app_name>/Images.xcassets/AppIcon.appiconset`*
mogrify -alpha off *.png

Sau đó lưu trữ và xác nhận thành công. 👍


4

Tôi có một vấn đề tương tự chỉ là nén tệp png của bạn trên https://tinypng.com/ trực tuyến và sau đó thử tải lên tệp png nén mới đó.

nó làm việc cho tôi


Điều này không hiệu quả với tôi - nó vẫn có một kênh alpha
Andrew


3

Bạn có thể xóa kênh alpha khỏi tệp PNG khỏi dòng lệnh bằng pngcrush, sử dụng cờ "-c 2":

$ file input.png
input.png: PNG image data, 1024 x 1024, 8-bit/color RGBA, non-interlaced
$ pngcrush -q -c 2 input.png output.png
libpng warning: iCCP: known incorrect sRGB profile
$ file output.png
output.png: PNG image data, 1024 x 1024, 8-bit/color RGB, non-interlaced

Lưu ý thay đổi từ RGBA sang RGB: kênh Alpha đã biến mất!

pngcrush sống tại http://pmt.sourceforge.net/pngcrush/


2

Đối mặt với cùng một vấn đề, Hãy thử sử dụng định dạng JPG !! Điều làm việc cho tôi ở đây là sử dụng tệp jpg thay vì PNG vì các tệp jpg không sử dụng các tính năng alpha hoặc trong suốt. Tôi đã thực hiện nó thông qua trình chuyển đổi hình ảnh trực tuyến hoặc bạn cũng có thể mở hình ảnh trong bản xem trước và sau đó File-> Xuất và bỏ chọn tùy chọn alpha để lưu hình ảnh và sử dụng hình ảnh này.


1

Để giải quyết vấn đề, tôi đã chuyển đổi hàng loạt bằng cách sử dụng pháo hoa các tệp png32 của mình sang png24 để tải lên nhanh chóng và dễ dàng. Jpeg cũng hoạt động nhưng mất mát.


1

Đối mặt với cùng một vấn đề, Hãy thử sử dụng định dạng JPG !!


1

Photoshop

  1. Cắt nó
  2. Tiết kiệm cho web
  3. Bỏ chọn tính minh bạch

0

Nếu bạn đã cài đặt hình ảnh, thì bạn có thể đặt bí danh sau vào .bash_profile. Nó sẽ chuyển đổi mọi png trong một thư mục thành jpg, tự động loại bỏ alpha. Bạn có thể sử dụng các tệp jpg kết quả làm ảnh chụp màn hình của bạn.

alias pngToJpg='for i in *.png; do convert $i ${i/.png/}.jpg; done'

jpg có nghĩa là sự suy giảm chất lượng, tôi sẽ không làm điều đó, chỉ khi tôi thực sự cần nó thực sự nhỏ hơn.
Zsolt Szatmari

0

Điều làm việc cho tôi ở đây là sử dụng tệp jpg thay vì PNG vì các tệp jpg không sử dụng các tính năng alpha hoặc trong suốt. Tôi đã thực hiện nó thông qua trình chuyển đổi hình ảnh trực tuyến hoặc bạn cũng có thể mở hình ảnh trong bản xem trước và sau đó File-> Xuất và bỏ chọn tùy chọn alpha để lưu hình ảnh và sử dụng hình ảnh này.


Có, nhưng bạn đang yêu cầu sự cố khi sử dụng jpeg. Chúng vốn được thiết kế cho những hình ảnh 'ồn ào' như ảnh, nhưng dẫn đến việc tạo ra các hình ảnh có nhiều màu khối và các cạnh thẳng như ảnh chụp màn hình.
JamEngulfer

0

Bạn có thể chỉ cần tạo một tài liệu Photoshop mới và đặt nền mặc định của nó thành Trắng thay vì trong suốt. Sau đó, sao chép và dán hình ảnh của bạn vào tài liệu vừa tạo và lưu nó.


0

Bạn có thể xuất sang PNG mà không cần alpha trong Preview. Chỉ cần mở hình ảnh của bạn, chọn xuất, chọn PNG, bỏ chọn Alpha và nhấp vào Lưu. Xem trước cũng hỗ trợ xuất hàng loạt nếu bạn mở tất cả hình ảnh của mình cùng một lúc.


0

Xuất từ ​​Phác thảo

Để tránh sự minh bạch, đảm bảo không có lớp nào vượt ra ngoài giới hạn của bản vẽ.


-2

Chuyển đổi hình ảnh PNG của bạn sang định dạng JPEG.


ITunes Connect sẽ không chấp nhận jpeg cho một số thứ. Biểu tượng ứng dụng iOS phải là png, ví dụ.
eclux
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.