create image data and save to a file from a script

original article:
here
size = 640, 480

import bpy

blank image

image = bpy.data.images.new("MyImage", width=size[0], height=size[1])

For white image

pixels = [1.0] * (4 * size[0] * size[1])

pixels = [None] * size[0] * size[1]
for x in range(size[0]):
for y in range(size[1]):
# assign RGBA to something useful
r = x / size[0]
g = y / size[1]
b = (1 - r) * g
a = 1.0

pixels[(y * size[0]) + x] = [r, g, b, a]

flatten list

pixels = [chan for px in pixels for chan in px]

assign pixels

image.pixels = pixels

write image

image.filepath_raw = "/tmp/temp.png"
image.file_format = 'PNG'
image.save()

image

posted @ 2026-05-29 22:17  tedtang  阅读(5)  评论(0)    收藏  举报