Hello,
I am using the Nokia Camera Wrapper (http://www.forum.nokia.com/info/sw.n..._0_en.zip.html) to capture snapshot images.
It all works well my N96 phone, but I have noticed that setting the Jpeg quality has no effect.
Here is a code sample (note that I only wish to show how I'm setting the jpeg quality, not post the whole initialization code here):
Code:CCameraEngine* cameraEngine; int jpegQuality = 50; // Set the quality. TRAPD( serr, cameraEngine->Camera()->SetJpegQuality(jpegQuality) ); if (serr != KErrNone) return _error( ERR_CAMERA_FAILED, L"failed to set jpeg quality" ); // I even check if the quality has been set. if (cameraEngine->Camera()->JpegQuality() != jpegQuality) return _error( ERR_CAMERA_FAILED, L"failed to set jpeg quality" ); // Start the snapshot. TSize sz(2048, 1536); cameraEngine->PrepareL( sz ); cameraEngine->CaptureL();
The captured Jpeg snapshot is always relatively big (some 2-3 MB for a 3 Megapixel snapshot) and it does look "good" so I guess the camera wrapper always uses the maximum Jpeg quality.
The docu of CCameraEngine states:
Since I have not found any function to set the snapshot quality in CCameraEngine, I guess I should be able to use the CCamera's one.Code:/** * Returns a pointer to CCamera object used by the engine. * Allows getting access to additional functionality * from CCamera - do not use for functionality already provided * by CCameraEngine methods. */ IMPORT_C CCamera* Camera();
How can I set the jpeg quality when using CCameraEngine? Directly access the CCamera's one? Or is there is no way to set it (CCameraEngine always shoots with 100% quality)?




