The display on the LCD shield is rotated 90 degrees from the display on the IDE. Also the long dimension of the sensor is not oriented to the long dimension of the LCD shield. Rotating the image to orient correctly for the LCD shield, causes the IDE display to be oriented incorrectly.
How can the the IDE and LCD Shield be orientated the same way?
The IDE and LCD Shield are both rectangular displays. They could both display the sensor image in the same orientation. It is just the order of how the pixels from the frame buffer are written to the LCD Shield.
I see what is going on now. The frame size used for the LCD Shield swaps the width and height of the frame.
For standard QQVGA, QVGA and VGA, the width of the rectangular framesize is greater than the height:
sensor.QQVGA: 160x120
sensor.QVGA: 320x240
sensor.VGA: 640x480
However, for the rectangular LCD Shield the “special” framesize used in the example has a width smaller than the height:
sensor.QQVGA2 # Special 128x160 framesize for LCD Shield.
I developed my application with the IDE using the QVGA framesize (adding text, etc to the image), but when trying to display this on the LCD Shield, because the frame width and height are inverted, the image on the LCD cannot be scaled to fit. When I rotated and scaled the framebuffer to match the inverted framesize of the LCD, the IDE display is then messed up.
Is it possible to provide and option to write the image to the LCD with the width x height aspects as the VGA standard (i.e. width > height)?
Yes, you can rotate the image before displaying it in the lcd. That said… this takes a lot of compute power. See the set()/assign() method.
Note, you’re going to want to disable automatic fb updates and then manually flush the image to the ide at specific periods since snapshot usually flushes whatever the previous image was.
It takes rotation and cropping to get a QVGA image into the LCD Shield, but as you said it takes a lot of compute power for what is easier to do in the lcd module.
The LCD Shield would much more usable if the lcd.display module had an option for an aspect ratio with width>height as is common for VGA frame sizes and rectangular sensors.