Godot: [3.0] захват экрана области просмотра не работает

Созданный на 12 апр. 2017  ·  3Комментарии  ·  Источник: godotengine/godot

Операционная система или устройство - версия Godot: Linux, Godot 3.0 (master)

Описание проблемы:
Получение снимка экрана из любого окна просмотра приводит к пустым данным.

Действия по воспроизведению:

get_viewport().queue_screen_capture()
yield(get_tree(),"idle_frame")
yield(get_tree(),"idle_frame")
var i = get_viewport().get_screen_capture()
i.save_png("user://cap.png")
bug rendering

Самый полезный комментарий

@MarianoGnu, вы правы, проблема только в том, что ViewportTexture :: get_data () не привязан к GDScript, но это должно быть легко решить.

Все 3 Комментарий

Теперь queue_screen_capture () и get_screen_capture () даже не существуют.

Не пробовал использовать gdscript, но у вас должна быть возможность вызвать viewport.get_texture (). Get_data (), чтобы получить ссылку на изображение, которое вы можете сохранить. Также вызовы image.lock () и image.unlock () должны позволить вам получить (и, возможно, установить?) Пиксели.

Вот как это работает для палитры цветов при выборе цвета на экране:
https://github.com/godotengine/godot/blob/master/scene/gui/color_picker.cpp#L428

@MarianoGnu, вы правы, проблема только в том, что ViewportTexture :: get_data () не привязан к GDScript, но это должно быть легко решить.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги