[Bf-blender-cvs] [fcb558a] temp-sybren-poselib: Use new 'copy_from_render()' Image func to avoid saving previews render on disk and then reloading.
Bastien Montagne
noreply at git.blender.org
Mon Nov 14 18:18:15 CET 2016
Commit: fcb558ae62ade917e04143d80576f10ee958a255
Author: Bastien Montagne
Date: Mon Nov 14 18:17:05 2016 +0100
Branches: temp-sybren-poselib
https://developer.blender.org/rBfcb558ae62ade917e04143d80576f10ee958a255
Use new 'copy_from_render()' Image func to avoid saving previews render on disk and then reloading.
===================================================================
M release/scripts/startup/bl_operators/poselib.py
===================================================================
diff --git a/release/scripts/startup/bl_operators/poselib.py b/release/scripts/startup/bl_operators/poselib.py
index 63c3059..1c6db8e 100644
--- a/release/scripts/startup/bl_operators/poselib.py
+++ b/release/scripts/startup/bl_operators/poselib.py
@@ -118,20 +118,16 @@ class POSELIB_OT_render_previews(Operator):
else:
bpy.ops.render.render()
- with tempfile.TemporaryDirectory() as tmpdir:
- fname = os.path.join(tmpdir, 'poselib.png')
- bpy.data.images['Render Result'].save_render(fname)
+ im = bpy.data.images['Render Result'].copy_from_render(scene=context.scene)
- # Loading and handling the image data should all be done while the tempfile
- # still exists on disk.
- im = bpy.data.images.load(fname)
+ im.scale(*self.image_size)
+ plib.preview.image_frame_img_set(plib_index, im)
- im.scale(*self.image_size)
- plib.preview.image_frame_img_set(plib_index, im)
+ if self.icon_size != self.image_size:
+ im.scale(*self.icon_size)
+ plib.preview.icon_frame_img_set(plib_index, im)
- if self.icon_size != self.image_size:
- im.scale(*self.icon_size)
- plib.preview.icon_frame_img_set(plib_index, im)
+ bpy.data.images.remove(im)
def invoke(self, context, event):
wm = context.window_manager
More information about the Bf-blender-cvs
mailing list