Godot: [3.0] la capture d'écran de la fenêtre d'affichage ne fonctionne pas

Créé le 12 avr. 2017  ·  3Commentaires  ·  Source: godotengine/godot

Système d'exploitation ou appareil - Version de Godot : Linux, Godot 3.0 (master)

Description du problème:
L'obtention d'une capture d'écran à partir de n'importe quelle fenêtre entraîne des données vides.

Étapes à reproduire :

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

Commentaire le plus utile

@MarianoGnu vous avez raison, le problème est seulement que ViewportTexture::get_data() n'est pas lié à GDScript, mais cela devrait être facile à résoudre.

Tous les 3 commentaires

Maintenant, queue_screen_capture() et get_screen_capture() n'existent même plus.

Je n'ai pas essayé à partir de gdscript, mais vous devriez pouvoir appeler 'viewport.get_texture().get_data()' pour obtenir une référence à l'image que vous pouvez enregistrer. L'appel de 'image.lock()' et image.unlock()' devrait également vous permettre d'obtenir (et peut-être de définir ?) des pixels.

Voici comment cela fonctionne pour le sélecteur de couleurs lors de la sélection d'une couleur à l'écran :
https://github.com/godotengine/godot/blob/master/scene/gui/color_picker.cpp#L428

@MarianoGnu vous avez raison, le problème est seulement que ViewportTexture::get_data() n'est pas lié à GDScript, mais cela devrait être facile à résoudre.

Cette page vous a été utile?
0 / 5 - 0 notes