Here’s a (very) quick hack to grab an image, resize it to span all your Mac’s displays and chop it up (messily) using ImageMagick - it splits things up into quite a few more images than you might need, but the point here is that this works for me with 3 side-by-side displays, not all the same width.
#!/usr/bin/python
import AppKit,os,sys
from Quartz.CoreGraphics import *
span = 0
height = 0
crops = []
bounds = [CGDisplayBounds(screen.deviceDescription().objectForKey_('NSScreenNumber')) for screen in AppKit.NSScreen.screens()]
bounds.sort(key = lambda s: s.origin.x)
for (w,h) in [(s.size.width, s.size.height) for s in bounds]:
span = span + w
height = max(height,h)
crops.append((w,h))
os.popen("convert -resize %d %s resized.png" % (span, sys.argv[1]))
offset = 0
for (w,h) in crops:
print w, h, offset
os.popen("convert -crop %dx%d+%d+0 resized.png %d.png" % (w, h, offset, offset))
offset = offset + w