''' Copyright (C) 2020 - 2022 Akaneyu This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . ''' import bpy import numpy as np def read_pixels_from_image(img): width, height = img.size[0], img.size[1] if bpy.app.version >= (2, 83, 0): pixels = np.empty(len(img.pixels), dtype=np.float32); img.pixels.foreach_get(pixels) return np.reshape(pixels, (height, width, 4)) else: return np.reshape(img.pixels[:], (height, width, 4)) def write_pixels_to_image(img, pixels, update_preview=True): if bpy.app.version >= (2, 83, 0): img.pixels.foreach_set(np.reshape(pixels, -1)) else: img.pixels = np.reshape(pixels, -1) if update_preview and img.preview: img.preview.reload()