Skocz do zawartości

Odczyt kolorów obrazka do tablicy lub ds_grid


TO_mek

Rekomendowane odpowiedzi

Witam!

Czy załadowany do pamięci background lub wczytany na surface jest przechowywany w jakiejś dostępnej tabeli w pamięci? Chodzi mi o to czy jeśli chcę stworzyć tablicę zawierającą wartości wszystkich pikseli z obrazka to muszę je kolejno odczytywać poprzez funkcje getpixel czy może jest sprytniejszy sposób dostępu do informacji o kolorach bez konieczności ich kopiowania?

Odnośnik do komentarza
Udostępnij na innych stronach

takie coś byłoby dostępne w pygame, ale nie tutaj

masz dwie opcje:

1. jeśli twój obrazek jest wczytywany z pliku .bmp, to możesz napisać sobie skrypt, który będzie pobierał dane z pliku i zapisywał je w tabeli - z .bmp jest to banalna sprawa

2. w innych przypadkach pozostaje użycie getpixel - nie muszę mówić, że to nie jest szybkie rozwiązanie - albo korzystanie z rozszerzeń, o ile takie istnieją

Odnośnik do komentarza
Udostępnij na innych stronach

Getpixel jest ekstremalnie wolne. Dodatkowo, staje sie wolniejsze z kazdym kolejnym uzyciem.

Jest rozwiazanie, ale i tak nie powinienes uzywac tego czesciej niz rzadko, bo jest(o wiele) szybsze, ale nadal za wolne.(poprawka: wydaje mi sie ze bufer sie aktualizuje automatycznie wraz z surface'em, bedzie to tak szybkie jak typowe rysowanie do surface + predkosc odczytu z bufera opisana w poście z linku na dole) Nie będę mącił Ci w głowie. Po prostu nie używaj w draw ani step.

Rozwiazaniem jest narysowac obraz na surface, a nastepnie zapisac surface do bufera. W ten sposob mozesz odczytywac wartości na żywca.

Wiem, że sam opis Ci nie pomoże, ale na szczęście ktoś zrobił cały szereg skryptów opierających się na tym pomyśle:

 

http://gmc.yoyogames.com/index.php?showtopic=640679

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...