| ID | CS000864 | Creation date | March 28, 2008 |
| Platform | S60 3rd Edition, MR S60 3rd Edition, FP1 S60 3rd Edition, FP2 Beta | Tested on devices | Nokia E61i Nokia E90 Communicator Nokia N95 8GB |
| Category | Symbian C++ | Subcategory | Imaging |
| Keywords (APIs, classes, methods, functions): CFrameInfoStrings, CImageDecoder::FileNewL(), CImageDecoder::FrameInfoStringsL() |
This code snippet demonstrates how to obtain and display the following information about an image:
The following libraries are required:
LIBRARY imageconversion.lib
/**
* Obtains the image info
* @param aFs a reference to the file server session
* @param aFilename the filename of the image
* @return image info as CFrameInfoStrings*
*/
CFrameInfoStrings* CApp::GetImageInfoL(RFs& aFs, const HBufC& aFilename);
#include <ImageConversion.h>
const TInt KMaxInfoDescriptorLength = 80;
// Obtains the image info from the image referenced by the aFilename
CFrameInfoStrings* CApp::GetImageInfoL(RFs& aFs, const HBufC& aFilename)
{
CImageDecoder* decoder = CImageDecoder::FileNewL(aFs, aFilename);
CleanupStack::PushL(decoder);
CFrameInfoStrings* info = decoder->FrameInfoStringsL();
CleanupStack::PopAndDestroy(decoder);
return info;
}
// Connect a client process to the fileserver
RFs fsSession;
User::LeaveIfError(fsSession.Connect());
CleanupClosePushL(fsSession);
// Obtain the image info
_LIT(KLITFilename, "C:\\Data\\Images\\image.jpg");
const HBufC* KFilename = KLITFilename().Alloc();
CFrameInfoStrings* info = GetImageInfoL(fsSession, *KFilename);
CleanupStack::PushL(info);
// Display the info items one by one
for (TInt i = 0; i < info->Count(); i++)
{
TBuf<KMaxInfoDescriptorLength> infoItem;
infoItem.Append(info->String(i));
CAknInformationNote* note = new (ELeave) CAknInformationNote(ETrue);
note->ExecuteLD(infoItem);
}
// Clean up
CleanupStack::PopAndDestroy(2); // info, fsSession
fsSession.Close();
Image information is displayed.
No related wiki articles found