Tytuł prawie wyjaśnia moje pytanie. Chciałbym móc czytać i zapisywać dane JPEG w przeliczeniu na piksel za pomocą C#.Jak mogę odczytać i zapisać dane JPEG w ujęciu pikselowym?
myślę coś wzdłuż linii CreateJPEG(x, y)
które utworzonych pustego obrazu JPEG w pamięci, a dałby mi obiekt JPEG, a następnie coś SetPixel(x, y, Color)
i GetPixel(x, y)
z czego ten ostatni zwróci Color
lub coś podobny. Można na przykład wywołać metodę Apply()
lub Save()
, aby zapisać obraz w standardowym formacie odczytywanym w formacie JPEG (najlepiej z opcjami kompresji, ale nie jest to konieczne).
Zakładam, że jakaś biblioteka C# lub przestrzeń nazw czyni to bardzo łatwym procesem, chciałbym tylko wiedzieć, jak najlepiej to wykorzystać.
Należy pamiętać, że zmiana pojedynczego piksela obrazu zakodowanego w formacie JPEG powoduje, że więcej pikseli obrazu zmieni się ze względu na nietrwałe narzędzia JPEG kompresji. –
Tylko uwaga dotycząca formatu JPEG - ponieważ jest to kompresja stratna, kolor pojedynczego piksela może się zmieniać między zapisami, nawet jeśli nie zmieniłeś go bezpośrednio, więc nie polegaj na pozostających stałych kolorach pikseli EDYCJA: pobity :) –
Dobrze;) Pytałem, ponieważ chciałbym spróbować swoich sił w pisaniu oprogramowania do porównywania obrazów, zasadniczo biorąc pod uwagę 2 obrazy, tworząc bitmapę różnic. Wiem, że już dawno to zrobiono, ale to byłaby dobra praktyka dla mnie, a ja po prostu potrzebowałem szybkiego punktu we właściwym kierunku (coś SO jest naprawdę dobre dla, faktycznie). :) – qJake