Ucząc się Pythona, wpadłem na pomysł, by napisać skrypt, który wczytuje plik graficzny oraz tworzy jego zmienioną odrobinę kopię. Problem mój polega na tym, że po wczytaniu kolejnych bajtów z pliku, nie wiem jak przetwarzać bajty, tak aby potem przy zapisywaniu ich do pliku docelowego były w odpowiednim "stanie". Chodzi mi o to, że mój kod musi źle przetwarzać zapisywane bajty, bo plik wynikowy jest uszkodzony. (wczytuję bajt z pliku, przetwarzam go w pewien sposób, zapisuje to pliku docelowego - taki jest mój zamiar, w skrócie)

- Rejestracja:ponad 13 lat
- Ostatnio:ponad 2 lata
- Postów:93

- Rejestracja:ponad 13 lat
- Ostatnio:ponad 2 lata
- Postów:93
Przypuśćmy, że chciałbym do każdego bajtu dodać pewną stałą.

- Rejestracja:około 22 lata
- Ostatnio:około godziny
- Postów:6659
Zainteresuj się np. PIL i korzystając z jego funkcji wczytuj, modyfikuj i zapisuj obrazek:
http://www.pythonware.com/products/pil/
http://www.pythonware.com/library/pil/handbook/index.htm

- Rejestracja:ponad 13 lat
- Ostatnio:ponad 2 lata
- Postów:93
PIL znam, tyle że chciałem zrobić to właśnie po swojemu, bez żadnych bibliotek.

- Rejestracja:około 22 lata
- Ostatnio:około godziny
- Postów:6659
No to musisz napisać własny odczyt pliku. Z nieskompresowanymi obrazami (BMP itp.) powinno być najłatwiej. Musisz pominąć nagłówek, i zmodyfikować tylko bajty odpowiednie dla obrazu. Przy zapisywaniu pliku musisz dodać pominięty nagłówek przed zmodyfikowanymi bajtami. Przy dodawaniu liczb do bajtów musisz też pamiętać, żeby nie wyjść poza rozmiar "okienka" (jak przekroczysz zakres to musisz obciąć).

- Rejestracja:około 17 lat
- Ostatnio:4 minuty
poczytaj o najprostszym formacie graficznym np bmp, nie możesz tak po prostu dodawać wartości byle gdzie, a w przypadku formatów z kompresją to przed edycją obrazu musisz najpierw dekompresować dane. Bezpośrednie modyfikowanie skompresowanych danych lub bezmyślne modyfikowanie nagłówka, kończy się utratą spójności danych.
Tak jak pisałem napisz konkrety: co wczytujesz (jaki format pliku), jak wczytujesz (pokaż kod), bez tych podstawowych informacji nie ma co z tobą dyskutować.
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.