В Pygame, у меня есть поверхность:Как я могу сделать полутоновую копию поверхности в pygame?
im = pygame.image.load('foo.png').convert_alpha()
im = pygame.transform.scale(im, (64, 64))
Как я могу получить черно-белую копию изображения или преобразовать данные изображения в оттенках серого? У меня numpy.
Если вы используете .pixels3d вместо .array3d, вы можете избежать копирования всех данных на новую поверхность. – imallett
Чтобы ускорить это, используя ту же логику: 'arr = arr.dot ([0.298, 0.587, 0.114]) [:,:, None] .repeat (3, axis = 2); return pygame.surfarrary.make_surface (arr) '. На моем (800x600) тестовом изображении это ускоряется более чем на 2 порядка. – Jason