我的第一个程序,创建和显示位图

注意在mmp中添加用到的SOURCELIBRARY,以便编译和连接的时候用.

创建多重位图方法,在mmp中添加:
START BITMAP pic.mbm  //标志创建mbm

TARGETPATH   ../../../../wins/c/system/apps/map2 //mbm的存放位置

HEADER

SOURCEPATH   ../aif //图片放的位置

SOURCE       c12 back.bmp          //0 //图片的名称

SOURCE       c12 ball.bmp     //1

SOURCE       c12 ball_mask.bmp //2

END

然后在cmd中编译便在../../../../wins/c/system/apps/map2 中产生了pic.mbm这个东东便是多重位图,在include下产生了pic.mbg 是一个资源文件记录这些图片的顺序的枚举.
创建image的两种途径:

      1通过eikenv.h中定义的iEikonEnv(CEikonEnv的静态对象),iEikonEnv->CreateBitmapL(const TDesC& aFileName, TInt aId),aFileNmae图片的路径及名称,aIdbitMap中的排位。

2         直接初始化CFbsBitmap* bitmap = new(ELeave) CFbsBitmap()CFbsBitmapCWsBitmap的对象,通过bitmap-Load(aFileName,aId);来装载。用CWsBitmap创建位图服务要比CFbsBitmap快。CwsBitmap继承于CFbsBitmap

 

显示图片通过
     CWindowGc& gc = SystemGc();

    gc.BitBlt(const TPoint &aPos, const CFbsBitmap *aDevice);来显示。

创建双缓冲的方法:

        1先创建一个屏幕大小的图片

CFbsBitmap* bitmap = new(ELeave) CFbsBitmap()

bitmap->Create(const TSize& aSizeInPixels,TDisplayMode aDispMode)

 2 创建画笔

    CFbsBitmapDevice* bitmapDevice = CFbsBitmapDevice::NewL(CFbsBitmap* aFbsBitmap);

    CFbsBitGc* graphicsContext = NULL

bitmapDevice.CreateContext(graphicsContext)

3 在创建的图片中画图

graphicsContext ->BitBlt(TPoint(0,0),iBackgroundImage);

4 显示在屏幕上

CWindowGc& gc = SystemGc();
gc.BitBlt(Rect().iTl,iOffScreenBitmap);

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值