TO_mek Opublikowano 20 Listopada 2015 Udostępnij Opublikowano 20 Listopada 2015 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 Więcej opcji udostępniania...
Amaterasu Opublikowano 20 Listopada 2015 Udostępnij Opublikowano 20 Listopada 2015 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 Więcej opcji udostępniania...
I am vader Opublikowano 20 Listopada 2015 Udostępnij Opublikowano 20 Listopada 2015 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 Więcej opcji udostępniania...
Rekomendowane odpowiedzi
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ę