After creating an image using:

bpy.data.images.new(name="NewImage2", width=512, height=512)

How would I set that image to the active image within the UV/Image Editor in Python?

Set Image in UV Editor Active?


You loop through area till you find the UV/Image editor and set the active image to you image

for area in bpy.context.screen.areas :
    if area.type == 'IMAGE_EDITOR' :
            area.spaces.active.image = my_img
  • $\begingroup$ Is there a way to do this if that space isn't open? $\endgroup$
    – Andy Ray
    Jul 6 '16 at 7:10
  • $\begingroup$ @user53145 try changing spaces.active to something like spaces["myspace"] $\endgroup$
    – Chebhou
    Jul 6 '16 at 18:08

Here's the correct way to do it. This will work even if the UV Editor pane isn't open:

bpy.ops.image.new(name='Some Name')
image = bpy.data.images['Some Name']

bpy.data.screens['UV Editing'].areas[1].spaces[0].image = image
  • 3
    $\begingroup$ This would only work if you don't change your Blender screen layout at all. @Chebhou's answer is more robust. $\endgroup$
    – dr. Sybren
    Jul 22 '16 at 13:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.