Prawidłowa odpowiedź wynika z samej idei przezroczystości w grafice rastrowej. Żeby w PNG jakikolwiek piksel mógł być przezroczysty, obraz musi mieć kanał alfa, czyli dodatkową składową opisującą stopień przeźroczystości (opacity) dla każdego piksela. Standardowe RGB ma trzy kanały: R (czerwony), G (zielony), B (niebieski). Format PNG bardzo często używa wariantu RGBA, gdzie A (alpha) definiuje, na ile piksel jest widoczny: 0 oznacza całkowitą przezroczystość, 255 (albo 1.0 przy wartościach zmiennoprzecinkowych) pełną nieprzezroczystość. Dopiero po dodaniu kanału alfa można w programie graficznym zaznaczyć wszystkie białe obszary i ustawić im wartość alfa na 0. To właśnie realizuje wymaganie: „tam gdzie biały – ma być przezroczystość”. Z mojego doświadczenia w pracy z grafiką na potrzeby WWW, typowy workflow wygląda tak: otwierasz JPEG w edytorze rastrowym (np. GIMP, Photoshop, Krita), konwertujesz obraz do trybu z kanałem alfa (w Photoshopie: „Layer > New > Layer from Background” i „Add Layer Mask” albo „Add Alpha Channel” w GIMP-ie), następnie za pomocą narzędzia zaznaczania koloru (Magic Wand / Select by Color) wybierasz białe fragmenty i je usuwasz lub zmniejszasz im krycie. Dopiero potem zapisujesz jako PNG, który natywnie wspiera przezroczystość zgodnie ze specyfikacją formatu. Ważne też, że przy takim przekształceniu nie zwiększasz strat kompresji, bo PNG jest formatem bezstratnym. Straty są już w JPEG-u i ich się nie cofnie, ale samo przejście do PNG z kanałem alfa nie pogorszy jakości bardziej. W praktyce to jest standardowa procedura przygotowania ikon, logotypów i elementów UI na strony WWW, gdzie tło strony „prześwituje” przez przezroczyste fragmenty grafiki.
W tym zadaniu łatwo wpaść w pułapkę myślenia, że cokolwiek zmieniającego obraz „optycznie” przybliży nas do przezroczystości, ale technicznie to tak nie działa. Przezroczystość w grafice rastrowej nie jest związana ani z rozdzielczością, ani z kolorem białym jako takim, tylko z obecnością specjalnego kanału opisującego alfa, czyli krycie. Jeśli obraz nie ma kanału alfa, każdy piksel jest po prostu w pełni nieprzezroczysty, bez względu na to, czy jest biały, czarny czy zielony. Zmniejszenie rozdzielczości wpływa jedynie na liczbę pikseli i szczegółowość obrazu. Można to traktować jako skalowanie w dół, co często powoduje dodatkowe rozmycie i spadek ostrości, ale nie pojawi się od tego żadna przezroczystość. Program nie ma powodu uznać, że po zmniejszeniu rozdzielczości białe piksele nagle staną się „dziurą” w obrazie. To są dalej normalne piksele RGB. Podobnie przekształcenie obrazu w odcienie szarości (grayscale) jedynie zmienia sposób kodowania koloru. Zamiast trzech składowych RGB używamy pojedynczej jasności, ale wciąż każdy piksel jest w pełni kryjący. Odcienie szarości są przydatne w obróbce artystycznej czy przy optymalizacji rozmiaru plików, ale nie mają nic wspólnego z dodaniem kanału alfa ani z wycinaniem tła. Częsty błąd polega na myleniu „białego tła” z przezroczystością – w wielu edytorach białe tło wygląda podobnie do szachownicy symbolizującej alfa, ale technicznie to zupełnie inna rzecz. Z kolei import do edytora grafiki wektorowej sam z siebie nie rozwiązuje problemu. Program wektorowy może co prawda osadzić rastrowy JPEG jako obiekt, ale on dalej pozostaje bitmapą bez kanału alfa. Przezroczystość można wtedy dodać dopiero po konwersji do formatu obsługującego alfa i odpowiedniej edycji. Sam fakt, że pracujemy w środowisku „wektorowym”, nie powoduje magicznego zniknięcia białego tła. Kluczowe jest zrozumienie, że o przezroczystości decyduje struktura danych obrazu (obecność kanału alfa), a nie to, jakiego typu program otworzy plik ani jaką ma on rozdzielczość czy tryb kolorów. Taki sposób myślenia bardzo pomaga przy pracy z grafiką na strony WWW i przy przygotowaniu elementów UI, gdzie przezroczystość jest standardem.