zoukankan      html  css  js  c++  java
  • Symbian中Bmp文件的读取和显示(转)

    1读取:

    首先 我们定义要读取的位图所在位置:

    _LIT (KMultiBitmapFilename,"\\system\\apps\\graphics\\images.mbm");

    其中images.mdm是我们的位图文件经过压缩打包的结果,是一个多位图文件。我们要在.mmp文件中作如下定义:

    START BITMAP      images.mbm

    HEADER

    TARGETPATH        \system\apps\graphics

    SOURCEPATH        ..\bitmaps

    SOURCE            c12  image1.bmp

    SOURCE            c12  image2.bmp

    END

    系统产生一个位图头文件.mbg,这个头文件提供了一个访问位图的ID。例如,在Epoc32\include中的IMAGES.mbg文件包含如下内容:

    enum TMbmImages{

          EMbmImagesImage1,

          EMbmImagesImage2,

          };

    接下来我们定义:

    CFbsBitmap* iImage1;

    CFbsBitmap* iImage2;

    然后我们就可以将mdm中的位图文件读取出来:

    iImage1 = new (ELeave) CFbsBitmap();

    CleanupStack::PushL(iImage1);

    TInt loadException = iImage1 ->Load(KMultiBitmapFilename,EMbmImagesImage1);

    User::LeaveIfError(loadException);

    CleanupStack::Pop(iImage1);

    2显示:

    在显示之前,记得需要设置图片的显示尺寸:

    TSize aSize(2000 , 2000);
    iImage1->SetSizeInTwips(aSize);

     

    通过使用DrawBitmap()方法,可以将已经读取或绘制好的位图显示在窗口中。

    void DrawBitmap(const TPoint& aTopLeft,const CFbsBitmap* aSource)

    这里,aTopLeft指定了要绘制的位图的左上角坐标,aSource给出了要绘制的位图的内容。

    void DrawBitmap(const TRect& aDestRect,const CFbsBitmap* aSource)

    将给出的位图aSource绘制在指定的矩形区域aDestRect中。

    void DrawBitmap(const TRect& aDestRect,const CFbsBitmap* aSource,const TRect& aSourceRect)

    在给出的位图aSource中截取aSourceRect区域,将其内容绘制在指定的矩形区域aDestRect中。

  • 相关阅读:
    [SDOi2012]Longge的问题(洛谷 2303)
    Biorhythms(信息学奥赛一本通 1639)
    【NOI2002】荒岛野人(信息学奥赛一本通 1637)(洛谷 2421)
    青蛙的约会(信息学奥赛一本通 1631)(洛谷 1516)
    负数求余究竟怎么求???
    X-factor Chain(信息学奥赛一本通 1628)
    同余问题2(超详细!!!)
    map函数怎么用咧↓↓↓
    同余问题1(超详细!!!)
    python -- 连接 orclae cx_Oracle的使用 二
  • 原文地址:https://www.cnblogs.com/yaoliang11/p/1889493.html
Copyright © 2011-2022 走看看