22 lines
613 B
Python
22 lines
613 B
Python
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):
|
|
if bpy.app.version >= (2, 83, 0):
|
|
img.pixels.foreach_set(np.reshape(pixels, -1))
|
|
else:
|
|
img.pixels = np.reshape(pixels, -1)
|
|
|
|
if img.preview:
|
|
img.preview.reload()
|