Czy występuje to w przeglądarce? Jeśli nie, to najpewniej wynika to z korekcji gamma w png. W teorii ma to sprawiać że kolor będzie wyglądał tak jak powinien (tak jak u autora pliku png), ale gdy zestawi się go z kolorem identycznym pod względem wartości rgb, png może wyglądać trochę inaczej. Dlatego właśnie przeglądarki nie wykonują tej korekcji (by np. obrazek i kolor tła html nie były inne).
Prównaj te trzy obrazki: (Najlepiej po pobraniu, bo przeglądarki pomijają wartość gAMA by kolory właśnie nie różniły się od jpg i html.)
i.imgur.com/hMpjpHu.png
www.cs.cmu.edu/~hattorih/file/image/test_colorbars_1920x1080.png
cpansearch.perl.org/src/RKELSCH/Graphics-Framebuffer-6.03/examples/images/Test_Pattern.jpg
Jeśli pierwszy wygląda źle, to właśnie dlatego że ma wartość gAMA w metadanych (w przeciwieństwie do drugiego, który jednak też jest png).
Jednak wartości nie dodałem sam. Dodał ją... paint. Więc rzeczywiście porada by nie używać painta ma sens.
Ale dlaczego, skoro korekcja gamma miała poprawiać kolory zmienia je u ciebie na inne? Najpewniej masz niestandardowe ustawienia gamma. A programy wyświetlające png nie znają twojego ustawienia. Korzystają z domyślnych.
Jak to naprawić? Być może poprawienie ustawień gamma pomoże (w ustawieniach wyświetlacza przy poprawianiu kolorów). Dla pojedynczych png możesz po prostu usuwać gAMA np. za pomocą tego programu:
entropymine.com/jason/tweakpng/