Namespaces
Variants
Actions
Revision as of 07:56, 6 August 2012 by hamishwillee (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Archived:Displaying image information using Symbian C++

Jump to: navigation, search
Archived.png
Archived: This article is archived because it is not considered relevant for third-party developers creating commercial solutions today. If you think this article is still relevant, let us know by adding the template {{ReviewForRemovalFromArchive|user=~~~~|write your reason here}}.

Remove from Archive?: This article has been marked for removal from archive, for the following reasons:
I believe the information is still accurate in current versions.
Article Metadata

Tested with
Devices(s): Nokia E61i
Nokia E90 Communicator
Nokia N95 8GB

Compatibility
Platform(s): S60 3rd Edition, MR
S60 3rd Edition, FP1
S60 3rd Edition, FP2 Beta

Article
Keywords: CFrameInfoStrings, CImageDecoder::FileNewL(), CImageDecoder::FrameInfoStringsL()
Created: tapiolaitinen (20 Mar 2008)
Last edited: hamishwillee (06 Aug 2012)

Contents

Overview

This code snippet demonstrates how to obtain and display the following information about an image:

  • Decoder
  • Format
  • Dimensions
  • Color depth
  • Details

MMP file

The following libraries are required:

LIBRARY imageconversion.lib

Header file

/**
* 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);

Source file

#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();

Postconditions

Image information is displayed.

330 page views in the last 30 days.
Nokia Developer aims to help you create apps and publish them so you can connect with users around the world.

京ICP备05048969号  © Copyright Nokia 2013 All rights reserved