I have the following code which is used to scale the image down to the desired resolution. I am using CImageTransform class to achieve that.
EXPORT_C HBufC8* TransformImageL(const TDesC& aSrcFile, const TSize& aNewSize)
if( !aSrcFile.Length() || }
!aNewSize.iWidth || !aNewSize.iHeight ||
CImageTransform* pImgTransformer = CImageTransform::NewL(fileSession);
CActiveListener* pListener = CActiveListener::NewLC();
//We are blocked here untill the operation finishes.
The code works fine when the image is located on drive C. When I try to convert an image on external card (drive E) then the call to SetupL() function throws KerrNotFound (No suitable plug-in was found) error. Any idea what I am doing wrong? Thanks.
PS. Small update. The images stored on MMC card were made with internal camera (Nokia E51). The default resolution was set to 1600x1200. When I set it to 640x480 then no exception was thrown by SetupL() function. Is CImageTransform sensitive to file size or resolution?