#include <icl/imageconversionextension.h>
| class TImageConvScaler |
| Public Member Enumerations | |
|---|---|
| enum | TScalerQuality { EMinimumQuality, EMediumQuality, EMaximumQuality } |
| Public Member Functions | |
|---|---|
| IMPORT_C void | GetCapabilities(TScalerCaps &) |
| IMPORT_C void | SetScalingL(const TSize &, TImageConvScaler::TScalerQuality, TBool) |
| IMPORT_C void | SetScalingL(TInt, TImageConvScaler::TScalerQuality) |
Scaling extension for Image Conversion Library. Supports both arbitrary or 'power of two' 1/2, 1/4, 1/8 scaling
Quality used during scaling.
| Enumerator | Value | Description |
|---|---|---|
| EMinimumQuality | ||
| EMediumQuality | ||
| EMaximumQuality |
| IMPORT_C void | GetCapabilities | ( | TScalerCaps & | aCaps | ) | const |
Get the codec plugin's capabilities.
| Parameters | |
|---|---|
| aCaps | Returns scaling capabilities of the codec plugin. |
| IMPORT_C void | SetScalingL | ( | const TSize & | aDesiredSize, |
| TImageConvScaler::TScalerQuality | aQuality, | |||
| TBool | aLockAspectRatio | |||
| ) | ||||
Request scaling to the desired size using the quality specified and specifying if the aspect ratio is to be preserved. Ensure that CImageDecoder::GetDestinationSize is used to obtain the size of destination bitmap passed to CImageDecoder::Convert if scaling is set up by calling this method.
Example: If a plugin is only capable of power of two scaling, with an original image size of 600x400, then calling this SetScalingL function with a desired size of 500x300 will result in a subsequent call to CImageDecoder::GetDestinationSize returning a size of 300x200 (that is, a scaling coefficient of -2).
See also: CImageDecoder::Convert CImageDecoder::GetDestinationSize TImageConvScaler::GetCapabilities
| Parameters | |
|---|---|
| aDesiredSize | Proposed size of the scaled image. Note that this may not necessarily be the size returned by a subsequent call to CImageDecoder::GetDestinationSize and is dependant upon the operations (such as scaling, cropping and rotation) requested and also the capabilities of the plugin (which can be queried using TImageConvScaler::GetCapabilities). |
| aQuality | Desired quality of the image. Allows codec to lower quality targets to improve performance. |
| aLockAspectRatio | Set to ETrue if the aspect ratio of the original image is to be preserved. |
| Leave Codes | |
|---|---|
| KErrNotSupported | if an invalid size is passed. |
| KErrNotSupported | if aLockAspectRatio is EFalse and codec only supports preservation of aspect ratio. |
| IMPORT_C void | SetScalingL | ( | TInt | aScalingCoeff, |
| TImageConvScaler::TScalerQuality | aScalingQuality | |||
| ) | ||||
Define the scaling to be applied to the image according to the given coefficient at the requested quality. Ensure that CImageDecoder::GetDestinationSize is used to obtain the size of destination bitmap to be passed to CImageDecoder::Convert.
See also: CImageDecoder::Convert
| Parameters | |
|---|---|
| aScalingCoeff | Scale to apply to the source. 2 means twice the original size, -2 half the size. Do not confuse this with ReductionFactor where 2 indicates 1/2 size. |
| aScalingQuality | Desired quality of the image. Allows codec to lower quality targets to improve performance. |
| Leave Codes | |
|---|---|
| KErrNotSupported | if codec cannot perform the requested scale. |