์ด์ ์ฒด์ ๋๋ ์ฅ์น-Godot ๋ฒ์ : Linux, Godot 3.0 (๋ง์คํฐ)
๋ฌธ์ ์ค๋ช
:
๋ทฐํฌํธ์์ ํ๋ฉด ์บก์ฒ๋ฅผ ๊ฐ์ ธ ์ค๋ฉด ๋ฐ์ดํฐ๊ฐ ๋น์ด ์์ต๋๋ค.
์ฌํ ๋จ๊ณ :
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")
์ด์ queue_screen_capture ()์ get_screen_capture ()๋ ์กด์ฌํ์ง ์์ต๋๋ค.
gdscript์์ ์๋ํ์ง ์์์ง๋ง 'viewport.get_texture (). get_data ()'๋ฅผ ํธ์ถํ์ฌ ์ ์ฅํ ์์๋ Image์ ๋ํ ์ฐธ์กฐ๋ฅผ ์ป์ ์ ์์ด์ผํฉ๋๋ค. ๋ํ 'image.lock ()'๋ฐ image.unlock () '์ ํธ์ถํ๋ฉด ํฝ์ ์ ์ป์ ์ ์์ต๋๋ค (์ค์ ํ ์ ์์ต๋๊น?).
๋ค์์ ํ๋ฉด์์ ์์์ ์ ํํ ๋ ์์ ์ ํ๊ธฐ์์ ์๋ํ๋ ๋ฐฉ์์
๋๋ค.
https://github.com/godotengine/godot/blob/master/scene/gui/color_picker.cpp#L428
@MarianoGnu ๋ง์ต๋๋ค. ๋ฌธ์ ๋ ViewportTexture :: get_data ()๊ฐ GDScript์ ๋ฐ์ธ๋ฉ๋์ด ์์ง ์๋ค๋ ๊ฒ ๋ฟ์ด์ง ๋ง ํด๊ฒฐํ๊ธฐ ์ฝ์ต๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
@MarianoGnu ๋ง์ต๋๋ค. ๋ฌธ์ ๋ ViewportTexture :: get_data ()๊ฐ GDScript์ ๋ฐ์ธ๋ฉ๋์ด ์์ง ์๋ค๋ ๊ฒ ๋ฟ์ด์ง ๋ง ํด๊ฒฐํ๊ธฐ ์ฝ์ต๋๋ค.