Ostatnio zauważyłem, że mój kursor jest bielszy niż białe tło (czyste 0xFFFFFF). Początkowo myślałem, że to złudzenie optyczne, ponieważ robienie zrzutów ekranu pokazało, że zarówno tło, jak i kursor były w 0xFFFFFF. Następnie zrobiłem zdjęcie kursora i wyraźnie pokazuje różnicę jasności:
Na obrazie nakładam filtr mozaikowy, aby lepiej widzieć średnią jasność:
Wnętrze strzałki ma około 191 szarości (0xBF), a tło około 177 szarości (0xB1), co oznacza, że biel kursora jest o około 8% jaśniejsza niż czysta biel tła.
Jaki sprzęt to robi i jak? Czy informacja o kolorze jest przesyłana z więcej niż 8 bitami na kanał?
Komputer to Windows XP z kartą graficzną NVIDEA GeForce 8500 GT podłączoną do telewizora Samsung 5100 za pomocą kabla HDMI.
Inne zdjęcie:
Jeden kursor sprzętowy, jeden zrzut ekranu kursora sprzętowego i kwadrat 16 x 16 każdej wartości skali szarości od 0 do 0xFF w blokach 2x2.
To samo co poprzedni obraz, ale z zastosowanym filtrem mozaikowym. Powinno być oczywiste, który jest rzeczywistym kursorem, a który jest zrzutem ekranu kursora na zdjęciu. Jasność tym razem wynosi 185 i 170, wciąż około 8% różnicy. Używając próbnika kolorów, kolor na zdjęciu wynoszący 170 to 0xFFFFFF na ekranie. Nie mogę użyć próbnika kolorów na samym kursorze, ponieważ próbkuje on kolor bezpośrednio pod kursorem.
Odpowiedzi:
Jak wspomniano w odpowiedzi Psychogeek, jest to problem z ustawieniem profilu kolorów przez system operacyjny.
Profile kolorów mogą być stosowane przez aplikację, system operacyjny, kartę graficzną i sprzęt wyświetlający.
W przypadku profili kolorów systemu operacyjnego w systemie Windows, po wysłaniu na kartę graficzną profil kolorów jest stosowany inaczej do kursora niż do obrazu na ekranie, co może powodować różne kolory, jeśli profil kolorów zmieni punkt bieli. W twoim przypadku kursor jest wysyłany jako prawdziwa biel, podczas gdy obrazek poniżej ma zastosowany profil kolorów, zmieniając punkt bieli na niższy poziom.
Kursor jest wysyłany na kartę graficzną oddzielnie od reszty wyświetlanych danych i jest miksowany przez kartę wideo na późniejszym etapie podczas renderowania, zanim zostanie wysłany na ekran.
Na poziomie uproszczonym:
Zrzut ekranu nie stosuje profilu koloru systemu operacyjnego do danych „strzału”, ponieważ jest on przechwytywany na etapie okienkowania. Zasadniczo zrzut ekranu nie pokazuje kursora, ponieważ jest przechwytywany nawet przed zastosowaniem profilu systemu operacyjnego. Jednak niektóre narzędzia (które, jak zakładam, użyłeś) do przechwytywania ekranu, mieszają kursor nad obrazem w taki sam sposób, jak karta graficzna. Ponieważ poziomy bieli kursora i tła są równe 100%, zrzut ekranu ma ten sam poziom bieli dla obu.
Normalne zachowanie, które widzisz, można naprawić za pomocą monitora lub karty graficznej ze sprzętową LUT do kalibracji kolorów lub wymuszając rysowanie kursorem w innym punkcie renderowania, zobacz to pytanie Photo.SE . Możesz także edytować obraz kursora i zmienić poziom bieli, jeśli cię denerwuje. Myślę jednak, że sprawia, że kursor jest bardziej widoczny na ekranie.
źródło
Ta odpowiedź zaczyna się od analizy, dlaczego nie jest to 1: 1 z cyfrową, a kończy na możliwych sposobach zmiany rzeczy w oparciu o twoje aktualne pytanie.
W takim przypadku kursor jest (prawdopodobnie) renderowanym sprzętowo elementem, który jest nałożony na sprzęt karty graficznej. Pierwszą rzeczą do sprawdzenia lub próby dostosowania w celu zmiany jest profil monitora i / lub profile kolorów zastosowane w systemie operacyjnym. Profile kolorów znajdują się w Panelu sterowania, Wszystkie elementy panelu sterowania, Zarządzanie kolorami w nim znajdziesz profile kolorów, które zmieniają kolor, zanim dotrze do samego monitora.
Profile można wyłączyć, dzięki czemu można obserwować ich działanie.
Zmiany w oprogramowaniu karty graficznej. Pulpit, 3D i bezpośrednie rysowanie wideo można kontrolować, nawet jeśli te rzeczy nie zostały dostosowane w oprogramowaniu karty graficznej, możliwe, że po ustawieniu na 0 0 0 nadal istnieje pewne przetwarzanie. Możesz spróbować użyć go, aby dopasować nakładkę curser, jeśli istnieje jakiś prawdziwy powód, aby się tym przejmować.
Karta wideo nakłada się na sprzętowo renderowany curser i nie używa tych samych parametrów, co reszta tła, i tak właśnie działa.
- na podstawie zdjęcia kontrolnego żadna reszta nie dotyczy tego konkretnego pytania -
Inną możliwością są ustawienia monitora, choć jest to mniej prawdopodobne. Automatyczny kontrast, automatyczne kolory elementów na monitorach i telewizorach mogą zrównoważyć ogromne jasne lub ciemne obszary i często powodują niepożądane zmiany. Automatyczne korekty kolorów i poziomów w monitorach nie zawsze są regulowane i używają wielu różnych uroczych nazwisk dla wykonywanych czynności.
Profile na monitorach, takie jak gra, film, pulpit lub dowolne nazwy, których używają dla profili, określają określone ustawienia kolorów, kontrastu i jasności, które uznają za przydatne dla wybranego profilu, i ponownie mogą to być niepożądane zmiany, nawet dla właściwego wyboru profilu.
Algorytmy wyostrzania w kamerze, prawdopodobnie na karcie graficznej, ale ponownie na monitorze mogą tworzyć matrycę podświetlania wokół obszarów, zwiększając oryginalne kontrasty lub (oczywiście) zmniejszając go. W tym pytaniu jest mniej prawdopodobne, ponieważ biel rozszerza się poza piksele, do których miałaby zastosowanie matryca wyostrzająca, chyba że byłyby to 2 różne przetwarzanie.
Lista jest jeszcze dłuższa, gdy oprogramowanie nie musi mieć wyraźnego białego tła, można je dostosować. System operacyjny i programy mogą mieć tło, które nie jest białe, ale już wiesz, że tak nie jest, w tym pytaniu, jeśli wybrałeś kolor tła, na oryginalnym pulpicie lub programie.
Wybór kolorów na pulpicie pokazuje kolor piksela (lub pikseli), który tam istnieje, dostarczając użytkownikowi faktów na temat tego, co wyświetla program. Kolor obrazu pojawia się, zanim jakikolwiek profil kolorów dostosuje wydajność. Wybieranie kolorów to świetny sposób na odkrycie rzeczywistego koloru. Następnie nadal przechodzi przez przetwarzanie.
Istnieją programy, które wykonają zrzut ekranu z nakładką curser. z tego osoba mogłaby wybrać kolor rzeczy, ale ponownie kursor może zostać narysowany przy użyciu innej metody i przetworzony w taki sam sposób, jak reszta. Tak więc, chociaż możliwe jest cyfrowe oprogramowanie do przechwytywania ekranu i włączania cursera, może to zmienić to, co jest tutaj widoczne.
źródło