У меня есть одна или несколько поверхностей, которые являются результатами рендеринга моего движка. Они переносятся на основной холст при каждом проходе рендеринга. Я хочу реализовать размытие изображения. Самый простой способ — изменить альфа-канал плитки. Я могу легко сделать это с помощью tile.set_alpha(127), если хочу, чтобы каждый проход накладывался поверх старого холста. на половине прозрачности. Но я хочу сделать так, чтобы более яркие области оставляли след в более темных областях: для получения желаемого результата мне нужно установить копию изображения в оттенках серого в качестве альфа-канала.
Как это сделать? Я не только установил значение альфа для всей поверхности, но вместо этого установил интенсивность изображения в качестве его альфа-канала? Я просмотрел документацию по pygame.Surface и pygame.Image, но не могу найти здесь ответ, который ищу. Обратите внимание, что исходное изображение имеет формат «RGB», а не «RGBA», поэтому я предполагаю, что мне также нужно запустить tile.convert_alpha().
Подробнее здесь: https://stackoverflow.com/questions/786 ... ha-channel