No, this feature isn't supported by Blender, but using an add-on and image-magick, this can be done.
Imagemagick will need to be installed and the command convert
will need to be in your path.
Save this file as render_cmyk.py
and install it via Blenders's add-on preferences.
Once installed, the render output panel will have a checkbox to write out CMYK PSD images along side the image format your rendering too.
When rendering an animation it will create a CMYK version of images written to disk.
If you need to use ICC profiles, these can be passed as arguments too, see Imagemagick documentation.
bl_info = {
"name": "Render CMYK",
"version": (1, 0),
"blender": (2, 77, 0),
"location": "Render Properties -> Output",
"description": "Converts an image to CMYK when saving out animation renders",
"warning": "",
"wiki_url": "",
"category": "Render",
}
import bpy
from bpy.props import BoolProperty
from bl_ui.properties_render import RENDER_PT_output
from bpy.app.handlers import persistent
@persistent
def render_write_cmyk(scene):
import os
import subprocess
if scene.use_render_cmyk:
filepath_src = scene.render.frame_path()
filepath_dst = os.path.splitext(filepath_src)[0] + ".psd"
if os.path.exists(filepath_src):
cmd = (
"convert",
filepath_src,
"-colorspace", "cmyk",
filepath_dst,
)
print("Running:", " ".join(cmd))
subprocess.check_call(cmd)
else:
print("File not found for conversion %r" % filepath)
def draw(self, context):
layout = self.layout
layout.prop(context.scene, "use_render_cmyk")
def register():
bpy.types.Scene.use_render_cmyk = BoolProperty(name="Write CMYK/PSD")
RENDER_PT_output.append(draw)
bpy.app.handlers.render_write.append(render_write_cmyk)
def unregister():
del bpy.types.Scene.use_render_cmyk
RENDER_PT_output.remove(draw)
bpy.app.handlers.render_write.remove(render_write_cmyk)
if __name__ == "__main__":
register()