Sistema operativo o dispositivo - Versión Godot: Linux, Godot 3.0 (maestro)
Descripcion del problema:
Obtener una captura de pantalla de cualquier ventana gráfica da como resultado datos vacíos.
Pasos para reproducir:
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")
Ahora queue_screen_capture () y get_screen_capture () ni siquiera existen.
No lo he probado desde gdscript, pero debería poder llamar a 'viewport.get_texture (). Get_data ()' para obtener una referencia a Image que puede guardar. También llamar a 'image.lock ()' e image.unlock () 'debería permitirle obtener (¿y tal vez establecer?) Píxeles.
Así es como funciona para el selector de color al elegir un color de la pantalla:
https://github.com/godotengine/godot/blob/master/scene/gui/color_picker.cpp#L428
@MarianoGnu tiene razón, el problema es solo que ViewportTexture :: get_data () no está vinculado a GDScript, pero eso debería ser fácil de resolver.
Comentario más útil
@MarianoGnu tiene razón, el problema es solo que ViewportTexture :: get_data () no está vinculado a GDScript, pero eso debería ser fácil de resolver.