# CAMERA_I2CSize*

## Syntax

  `#include <twl/camera.h>`
  `CAMERAResult CAMERA_I2CSize(CAMERASelect camera, CAMERASize size);`
  `CAMERAResult CAMERA_I2CSizeAsync(CAMERASelect camera, CAMERASize size, CAMERACallback callback, void *arg);`
  `CAMERAResult CAMERA_I2CSizeEx(CAMERASelect camera, CAMERAContext context, CAMERASize size);`
  `CAMERAResult CAMERA_I2CSizeExAsync(CAMERASelect camera, CAMERAContext context, CAMERASize size, CAMERACallback callback, void *arg);`

## Arguments

camera | Camera to configure (`CAMERA_SELECT_IN`, `CAMERA_SELECT_OUT`, or `CAMERA_SELECT_BOTH`).
context | Context to change.
size | Camera resolution.
callback | Function that is called when asynchronous processing has completed.
arg | Arguments when the callback function is invoked.

## Return Values

Returns `CAMERA_RESULT_SUCCESS` if configuration was successful.

## Description

Changes the camera resolution.
The `CAMERA_I2CSizeEx` function is used to change the setting with a specified context. The non-Ex functions change the setting for both context A and B. See `CAMERAContext` for information on contexts.
Unlike `CAMERA_I2CSize`, the `CAMERA_I2CSizeAsync` function returns control immediately and runs asynchronously. Use callback to confirm that processing has completed.
Do not set `CAMERA_SIZE_VGA` in this function while either `CAMERA_FRAME_RATE_30_TO_5` or `CAMERA_FRAME_RATE_30` is specified in the `CAMERA_I2CFrame*` functions. You can no longer receive capture data if these two settings are made at the same time.

## See Also

`CAMERASelect`
`CAMERAContext`
`CAMERASize`
`CAMERACallback`
`CAMERAResult`

## Revision History

2008/10/30 Added that `CAMERA_SELECT_BOTH` also can be specified.
2008/01/23 Explained that images cannot be captured at 30 fps with size set to VGA.
2007/10/12 Initial version.

CONFIDENTIAL