Gambar tidak dapat mengandung saluran alfa atau transparansi

331

Apple telah merilis versi baru dari iTunes Connect & saya mendapat pesan kesalahan ketika saya mencoba mengatur Screenshot di iTunes untuk aplikasi saya.

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

masukkan deskripsi gambar di sini

Yasika Patel
sumber
Itu tidak disebutkan dalam iTunes Connect Developer Guide: developer.apple.com/library/ios/documentation/…
razor28
15
Cukup konversikan gambar ke format JPG bekerja untuk saya !!
Jayprakash Dubey
1
Pengunggah gambar pertama yang saya tulis sendiri dapat mengambil ukuran jpeg, png, atau gif, memutarnya dengan benar, dan menghasilkan jpeg pada tingkat kompresi yang diinginkan. Rupanya saya bisa membuat pengunggah gambar dan Apple tidak bisa. Dan tidak seperti Apple, saya tidak pernah bermimpi memaksa pengguna saya untuk "oh, cukup hapus alpha dari PNG secara manual! Untuk setiap gambar!".
Henrik Erlandsson
Itu payah bahwa xcode memungkinkan ini ketika iTunes Connect tidak.
James T Snell

Jawaban:

262

Png AFAIK dengan transparansi tidak diizinkan. gunakan jpg ATAU perbarui png Anda (photoshop atau apa pun yang Anda gunakan untuk membuat png) dan hapus bidang transparansi. jika Anda bekerja dengan bayangan, gunakan jpg, itu tidak akan membuat sakit kepala.

brush51
sumber
Bekerja untuk saya too.Thx
Madu
6
JPEG adalah lossy, dan itu ide yang sangat buruk. Lihat jawaban lain dan hapus transparansi dengan benar.
Rudolf Adamkovič
3
Cukup membuka di Pratinjau dan mengekspor ke JPEG memecahkan masalah. Tangkapan layar perangkat XCode menyimpan dalam PNG, yang merupakan masalah. Mengambil layar dengan perangkat (tombol home + tombol power) menyimpan dalam JPEG.
Anna Billstrom
33
Anda dapat mengekspor ke PNG tanpa alpha di Pratinjau. Cukup buka gambar Anda, pilih ekspor, pilih PNG, hapus centang Alpha, dan klik Simpan. Pratinjau juga mendukung ekspor batch jika Anda membuka semua gambar Anda sekaligus.
Russell Ladd
1
Jawaban yang bagus tetapi ketika saya perhatikan .jpg hasilnya tidak bagus jadi saya hanya membuka gambar di Photoshop mengatur lapisan latar belakang dan mengatur Warna putih sehingga transparansi gambar dihapus dan menggunakan gambar ini sebagai PNG.
Nitin Gohel
467

Saya menemukan Anda juga dapat mengekspor kembali png di Pratinjau, tetapi hapus centang pada kotak centang Alpha saat menyimpan.

masukkan deskripsi gambar di sini

Smikey
sumber
48
Konyol bahwa iTunes Connect tidak akan menerima tangkapan layar yang dihasilkan oleh Xcode mengingat itulah cara mereka menyarankan Anda melakukannya.
Joseph Toronto
Untuk beberapa alasan yang tidak bisa dijelaskan, ketika saya melakukan ini memotong dimensi menjadi dua dan sekarang "salah ukuran" untuk iTC! WTF Apple ???
mharper
13
Dapat dimengerti bahwa dengan hanya $ 178 miliar dalam bentuk tunai, Apple tidak mampu untuk memperbaiki bug konyol ini, dan membutuhkan puluhan ribu pengembang untuk semua melakukan operasi ini sendiri, berulang-ulang. Ugh.
Nate
apakah saya bisa memberi orang ini 100 suara untuk menyelesaikan masalah saya
Noor
2
klik dua kali foto "file" -> "Ekspor ..."
Arjay Waran
102

sangat mudah ...

Buka gambar di aplikasi Pratinjau klik File -> Ekspor dan hapus centang alpha

Marek Manduch
sumber
Ini tidak akan berfungsi pada Mac OS High Sierra, coba versi yang lebih rendah untuk mengekspor tanpa alpha. Semoga ini bisa membantu seseorang.
Satheeshwaran
Solusi yang sangat mudah. Terima kasih!
Lina T
Bekerja di Catalina. Mengganti transparansi dengan warna putih.
Marcy
85

Untuk ini saya membuat alat sederhana baru. Anda dapat menghapus saluran alfa (transparansi) dari beberapa file .png dalam beberapa detik.

Penghilang Saluran Alpha

Anda dapat mengunduh dari sini http://alphachannelremover.blogspot.com

bpolat
sumber
17
Terima kasih. Saya benci Apple menambahkan langkah lain dalam proses menangkap, menyimpan, dan mengirim tangkapan layar ke toko iTunesConnect.
Andrew Smith
2
Alat ini sangat sederhana namun cukup bermanfaat. Kalau tidak, saya harus menghabiskan waktu dengan Aplikasi Pratinjau Apple untuk menghapus transparansi satu per satu, sangat memakan waktu. Sekarang dimungkinkan untuk membuat banyak file dengan hanya satu pemotretan.
bpolat
1
Sangat berguna, terima kasih! Untuk semua pemrogram yang dimiliki Apple, Anda akan berpikir mereka bisa menghapus saluran alpha secara otomatis. Saya bersumpah tidak ada ikon yang saya unggah memiliki transparansi apa pun, namun gagal dikirim hanya karena disimpan dalam format yang memungkinkan transparansi. sigh
devios1
2
Sama sama. Sebenarnya saya membuat program untuk diri saya sendiri karena frustrasi yang saya miliki saat mengirimkan aplikasi saya ke Apple kemudian memutuskan untuk membaginya dengan komunitas di sini adalah open source di github Anda dapat melihat kode atau menggunakan yang Anda suka.
bpolat
1
Sempurna! Anda menyelamatkan saya satu atau dua jam hari ini. 475 gambar untuk diunggah karena desain ulang!
Nancy
73

Gunakan mogrifyalat dari ImageMagickpaket untuk menghapus saluran alfa.

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

Pembaruan dari 3 Mei

Anda dapat mengetahui apakah gambar berisi saluran alfa dengan menjalankan:

sips -g all image.png

Jika Anda membuat tangkapan layar di iOS Simulator, Anda dapat menjatuhkan saluran alpha dengan meneruskan BOOL opaque = YESke UIGraphicsBeginImageContextWithOptions:

UIGraphicsBeginImageContextWithOptions(imageSize, YES, 0); 
Roman B.
sumber
3
Output yang lebih pendek untuk memeriksa alfa dapat dicapai dengan perintahsips -g hasAlpha *.png
Anton Matosov
mogrify -alpha off 👍
system
27

Anda harus menghapus saluran alfa saat mengunggah foto ke iTunes Connect.

Anda dapat melakukan ini dengan Pratinjau, Aplikasi Foto (iPhoto lama), Pixelmator, Adobe Photoshop dan GIMP.

Pratinjau

1- Buka foto di Pratinjau (jika foto ada di album foto Anda di aplikasi Foto (iPhoto lama), maka cukup seret dari album ke desktop. Kemudian klik kontrol (klik kanan saat mouse) foto yang digandakan dan pilih Preview.app di bawah menu Open With).

2- Pilih Ekspor ... di bawah File menu, dan setelah memilih tujuan, hapus centang Alpha di bagian bawah, dan klik Ekspor .

File ==> Ekspor ...

Alfa

Pixelmator

1- Buka gambar dalam Pixelmator, tanpa membuat file Pixelmator baru . Cukup seret foto ke jendela Pixelmator.

2- Dari menu Bagikan, klik Ekspor untuk Web ...

SORE

3- Di bilah atas, batalkan pilihan Transparansi .

4- Klik Next dan kemudian simpan file baru di suatu tempat.

Terakhir, unggah foto baru ke iTunes Connect.

GIMP

1- Buka foto dalam GIMP.

2- Buka menu Layer .

3- Di bawah Transparansi , klik Hapus Saluran Alpha .

4- Simpan foto.

Adobe Photoshop

1- Buka foto dalam Adobe Photoshop.

2- Di bawah menu Layer , klik Layer Mask dan kemudian Dari Transparansi .

3 - Hapus layer mask dengan mengklik kanan pada mask di panel Layer dan memilih Delete Layer Mask .

Seyyed Parsa Neshaei
sumber
1
Ini tidak akan berfungsi pada Mac OS High Sierra, coba versi yang lebih rendah untuk mengekspor tanpa alpha. Semoga ini bisa membantu seseorang.
Satheeshwaran
11

Jika Anda menggunakan Photoshop, buka File> Save for web (Command + Option + Shift + S). Pastikan Transparansi tidak dicentang dan ini harus bekerja.

Hector Lopez
sumber
Aneh. Ini berfungsi untuk gambar tunggal. Tetapi ketika saya mencoba untuk menyimpan tindakan dan melakukan ekspor batch - gambar yang dihasilkan masih memiliki alpha.
kelin
6

Masih menjadi masalah di 2019: =)

Ini berfungsi untuk saya: Pilih semua gambar yang ingin Anda unggah -> Klik kanan -> Buka di Pratinjau -> Ekspor -> Hapus centang alpha -> Gunakan gambar yang diekspor.

Kristian
sumber
5

Pada Pixelmator Anda dapat menggunakan 'Bagikan> Ekspor untuk Web ...' ( + + E)

masukkan deskripsi gambar di sini

dan batalkan pilihan Transparansi di Bilah Opsi Alat.

masukkan deskripsi gambar di sini

H6.
sumber
5

Memperluas jawaban Roman B. Ini masih masalah, saya mengunggah aplikasi Cordova. solusi saya menggunakan mogrify:

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

Kemudian berhasil diarsipkan dan divalidasi. 👍

M. Junaid Salaat
sumber
4

saya memiliki masalah yang sama dengan hanya mengompres file png Anda di https://tinypng.com/ online dan kemudian mencoba mengunggah file png yang baru dikompresi itu.

ini bekerja untuk saya.

nizama bunti
sumber
Ini tidak berhasil untuk saya - masih memiliki saluran alfa
Andrew
4

saya dapat menggunakan imageoptim untuk menghapus saluran alpha dan kompres file png.

kuningan
sumber
3

Anda dapat menghapus saluran alfa dari file PNG dari baris perintah dengan pngcrush, menggunakan flag "-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

Perhatikan perubahan dari RGBA ke RGB: saluran Alpha hilang!

pngcrush tinggal di http://pmt.sourceforge.net/pngcrush/

kepala kode
sumber
2

Menghadapi masalah yang sama, Coba gunakan format JPG !! Apa yang berhasil bagi saya di sini adalah menggunakan file jpg bukan PNG karena file jpg tidak menggunakan fitur alfa atau transparansi. Saya melakukannya melalui konverter gambar online atau Anda juga dapat membuka gambar dalam pratinjau dan kemudian File-> Ekspor dan hapus centang alpha sebagai opsi untuk menyimpan gambar dan menggunakan gambar ini.

Rahul Parikh
sumber
1

Untuk mengatasi masalah ini, saya mengumpulkan file-file png32 yang dikonversi menggunakan kembang api ke png24 untuk diunggah dengan cepat dan mudah. Jpeg bekerja juga tetapi itu lossy.

Matius
sumber
1

Menghadapi masalah yang sama, Coba gunakan format JPG !!

Amit Ajmera
sumber
1

Photoshop

  1. Potong itu
  2. Simpan untuk web
  3. Hapus centang Transparansi
jcubero
sumber
0

Jika Anda memasang imagemagick, maka Anda dapat memasukkan alias berikut ke dalam .bash_profile Anda. Ini akan mengkonversi setiap png dalam direktori menjadi jpg, yang secara otomatis menghapus alfa. Anda dapat menggunakan file jpg yang dihasilkan sebagai tangkapan layar Anda.

alias pngToJpg='for i in *.png; do convert $i ${i/.png/}.jpg; done'
William Jockusch
sumber
jpg berarti penurunan kualitas, saya tidak akan melakukannya, hanya jika saya benar-benar membutuhkannya menjadi lebih kecil.
Zsolt Szatmari
0

Apa yang berhasil bagi saya di sini adalah menggunakan file jpg bukan PNG karena file jpg tidak menggunakan fitur alfa atau transparansi. Saya melakukannya melalui konverter gambar online atau Anda juga dapat membuka gambar dalam pratinjau dan kemudian File-> Ekspor dan hapus centang alpha sebagai opsi untuk menyimpan gambar dan menggunakan gambar ini.

Som
sumber
Ya, tetapi Anda meminta masalah menggunakan jpegs. Mereka secara inheren dirancang untuk gambar 'berisik' seperti foto, tetapi mengarah pada artefak pada gambar dengan banyak warna blok dan tepi lurus seperti screenshot.
JamEngulfer
0

Anda cukup membuat dokumen Photoshop baru dan mengatur latar belakang default menjadi Putih alih-alih Transparan. Kemudian, salin dan tempel gambar Anda ke dokumen yang baru dibuat dan simpan.

pengguna2298995
sumber
0

Anda dapat mengekspor ke PNG tanpa alpha di Pratinjau. Cukup buka gambar Anda, pilih ekspor, pilih PNG, hapus centang Alpha, dan klik Simpan. Pratinjau juga mendukung ekspor batch jika Anda membuka semua gambar Anda sekaligus.

Ali Usama
sumber
0

Mengekspor dari Sketsa

Untuk menghindari transparansi, pastikan tidak ada lapisan yang melampaui batas artboard.

5 bar
sumber
-2

Konversi gambar PNG Anda ke format JPEG.

kalpeshdeo
sumber
ITunes Connect tidak akan menerima jpeg untuk beberapa hal. Ikon App iOS harus png, misalnya.
eclux