I'm using camera.start_finder to capture some images from my N73's viewfinder in real time.

When I hold the phone upright, the images captured are landscape (ie 320 wide, 240 high). This means the finder image feed doesn't fit to the portrait screen.

No amount of image.transpose or appuifw.app.orientation adjustments can get me the following: portrait images from the viewfinder when the phone is held upright, or landscape images from the viewfinder when the phone is held on its side. Not the other way round!

Can anyone show me how to reconfigure the camera.start_finder to flip 90degrees at the image feed stage? Subsequent image rotations don't help as they always involve cropping/letterboxing the original viewfinder capture.

Thanks.

Code:
import camera, appuifw, e32, graphics

def viewfinder(img):
    img.save(u'e:\\Python\\file.jpg')
    canvas.blit(img, (0,0))

def quit():
    appuifw.app.orientation='automatic'
    camera.stop_finder()
    lock.signal()

appuifw.app.screen='full'
appuifw.app.orientation='portrait'
appuifw.app.exit_key_handler = quit
appuifw.app.body = canvas = appuifw.Canvas()


w, h = canvas.size
camera.start_finder(viewfinder ,size = (320,320))
lock = e32.Ao_lock()
lock.wait()