From 357b418efacbb8fd9f2a7dcdf5f66ce57ba261aa Mon Sep 17 00:00:00 2001 From: kalwalt Date: Sat, 18 Mar 2017 18:56:01 +0100 Subject: [PATCH 1/2] missed function in sv_image.py and mistake in draw_label, fixed --- nodes/viz/texture_viewer.py | 24 ++++++++++++++++++------ ui/sv_image.py | 11 ++++++++++- 2 files changed, 28 insertions(+), 7 deletions(-) diff --git a/nodes/viz/texture_viewer.py b/nodes/viz/texture_viewer.py index a13d974f4..d90fd6323 100644 --- a/nodes/viz/texture_viewer.py +++ b/nodes/viz/texture_viewer.py @@ -339,7 +339,7 @@ class SvTextureViewerNode(bpy.types.Node, SverchCustomTreeNode): def draw_label(self): if self.selected_custom_tex: - width, height = self.get_from_c_size() + width, height = self.texture_width_height label = (self.label or self.name) + ' {0} x {1}'.format(width, height) else: label = (self.label or self.name) + ' ' + str(size_tex_dict.get(self.selected_mode)) + "^2" @@ -420,20 +420,32 @@ class SvTextureViewerNode(bpy.types.Node, SverchCustomTreeNode): img_settings.file_format = img_format print('settings done!') + def get_image_by_name(self, image_name, extension): + images = bpy.data.images + image_name = image_name + extension + + img = images.get(image_name) + if not img: + width, height = self.texture_width_height + img = images.new( + name=image_name, width=width, height=height, alpha=False, float_buffer=True) + return img + def save_bitmap(self, operator): scene = bpy.context.scene image_name = self.image_name or 'image_name' img_format = self.bitmap_format - extension = svIMG.get_extension(img_format) - img = self.get_image_by_name(image_name, extension) - buf = self.get_buffer() + extension = svIMG.get_extension(img_format, format_mapping) width, height = self.texture_width_height - svIMG.pass_buffer_to_image(img, buf, width, height) - self.push_image_settings(scene) + img = svIMG.get_image_by_name(image_name, extension, width, height) + buf = self.get_buffer() + svIMG.pass_buffer_to_image(self.color_mode, img, buf, width, height) + self.push_image_settings(scene) desired_path = os.path.join(self.base_dir, self.image_name + extension) img.save_render(desired_path, scene) + print('Bitmap saved! path is:', desired_path) diff --git a/ui/sv_image.py b/ui/sv_image.py index c3969ebe3..ac8942a7f 100644 --- a/ui/sv_image.py +++ b/ui/sv_image.py @@ -33,13 +33,22 @@ def assign_RGB_image(image, width, height, buffer): image.pixels = final.flatten() -def get_extension(img_format): +def get_extension(img_format, format_mapping): if img_format in format_mapping: extension = '.' + format_mapping.get(img_format, img_format.lower()) else: extension = '.' + img_format.lower() return extension +def get_image_by_name(image_name, extension, width, height): + images = bpy.data.images + image_name = image_name + extension + + img = images.get(image_name) + if not img: + img = images.new( + name=image_name, width=width, height=height, alpha=False, float_buffer=True) + return img def pass_buffer_to_image(color_mode, img, buf, width, height): print('width is: {0}'.format(width)) -- GitLab From 88cdc281e22373fc9b5c982bc2ec0f1f8bc4cee4 Mon Sep 17 00:00:00 2001 From: kalwalt Date: Sat, 18 Mar 2017 19:03:33 +0100 Subject: [PATCH 2/2] cleaning the code --- nodes/viz/texture_viewer.py | 11 ----------- ui/sv_image.py | 2 ++ 2 files changed, 2 insertions(+), 11 deletions(-) diff --git a/nodes/viz/texture_viewer.py b/nodes/viz/texture_viewer.py index d90fd6323..9b0fdbef3 100644 --- a/nodes/viz/texture_viewer.py +++ b/nodes/viz/texture_viewer.py @@ -420,17 +420,6 @@ class SvTextureViewerNode(bpy.types.Node, SverchCustomTreeNode): img_settings.file_format = img_format print('settings done!') - def get_image_by_name(self, image_name, extension): - images = bpy.data.images - image_name = image_name + extension - - img = images.get(image_name) - if not img: - width, height = self.texture_width_height - img = images.new( - name=image_name, width=width, height=height, alpha=False, float_buffer=True) - return img - def save_bitmap(self, operator): scene = bpy.context.scene image_name = self.image_name or 'image_name' diff --git a/ui/sv_image.py b/ui/sv_image.py index ac8942a7f..cd5ceec83 100644 --- a/ui/sv_image.py +++ b/ui/sv_image.py @@ -40,6 +40,7 @@ def get_extension(img_format, format_mapping): extension = '.' + img_format.lower() return extension + def get_image_by_name(image_name, extension, width, height): images = bpy.data.images image_name = image_name + extension @@ -50,6 +51,7 @@ def get_image_by_name(image_name, extension, width, height): name=image_name, width=width, height=height, alpha=False, float_buffer=True) return img + def pass_buffer_to_image(color_mode, img, buf, width, height): print('width is: {0}'.format(width)) print('length img pixels: {0}'.format(len(img.pixels))) -- GitLab