View Full Version : Convert Screen Capture to base64
BSUGeek
11-24-2014, 10:16 AM
I was wondering how do you convert a screen capture of the running scene to base64 and put the base64 data into a file?
:confused:
farshizzo
11-25-2014, 09:01 AM
Here is a sample script that will save the raw image data of the screen to a base64 encoded file when the spacebar is pressed:
import viz
import viztask
import base64
viz.go()
model = viz.addChild('maze.osgb')
def SaveScreenTask():
while True:
# Wait for key press
yield viztask.waitKeyDown(' ')
# Capture screen to texture
texture = viz.addBlankTexture([1,1])
viz.window.screenCapture(texture)
# Wait a frame for image to be captured
yield viztask.waitFrame(1)
# Save raw texture data to base64 encoded buffer
data = base64.b64encode(texture.saveToBuffer('<raw>'))
# Save data to file
with open('screen_data', 'wb') as f:
f.write(data)
# Remove texture
texture.remove()
viztask.schedule( SaveScreenTask() )
vBulletin® v3.8.7, Copyright ©2000-2024, vBulletin Solutions, Inc.