Khan's Notebook GCC/GNU/Linux Delphi/Window Java/Anywhere

路漫漫,长修远,我们不能没有钱
随笔 - 172, 文章 - 0, 评论 - 257, 引用 - 0
数据加载中……

Symbian 的Gif显示.(暂且记录关键信息. 完善后再认真介绍)

我的gif播放这样设置,为什么只播放一次呢??

    if(iImageViewer)
    {
        delete iImageViewer;
    }
    TRect r(TPoint(0,0), TSize(50, 50));
    iImageViewer = CPAlbImageViewerBasic::NewL(NULL, r);


    TRAPD(err, iImageViewer->LoadImageL(tFullFileName, EColor4K));
    if (err == KErrNone)
    {
        iImageViewer->SetAnimationObserver(NULL,ETrue);
        iImageViewer->ScaleOptimumL();
        iImageViewer->PlayAnimationL();
    }



愣愣(65087426) 13:06:35
iViewer=CPAlbImageViewerBasic::NewL(this,aRect);
    iViewer->SetAnimationObserver(this,ETrue);//for looping
    iViewer->LoadImageL(_L("c:\\nokia\\images\\anim.gif"),EColor4K);                   
    iViewer->PlayAnimationL(); // support image and animation

循环播放

无牙老虎(276877017) 13:07:26
iViewer->SetAnimationObserver(this,ETrue);

如果我这里不想设置为this呢??
愣愣(65087426) 13:07:52
不行吧,要一个observer的
无牙老虎(276877017) 13:08:14
我上面的代码就运行了一次
植物兽兽(39827140) 13:08:16
这个地方传入的是MPAlbAnimationObserver *aObserver,

愣愣(65087426) 13:08:18
Notify 实现这个就循环了

posted on 2007-12-19 14:22 Khan 阅读(1823) 评论(5)  编辑 收藏 引用 所属分类: GCC/G++

评论

# re: Symbian 的Gif显示.(暂且记录关键信息. 完善后再认真介绍)  回复  更多评论   

http://wiki.forum.nokia.com/index.php/Gif_animation_for_symbian_2nd_and_3rd_edition_phones
2007-12-19 15:08 | Khan's Notebook

# re: Symbian 的Gif显示.(暂且记录关键信息. 完善后再认真介绍)[未登录]  回复  更多评论   

// 头文件
#include <e32std.h>
#include <BasicAnimation.h>

CBasicAnimation * iBasicAnim;
// ConstructL ///////////////////////////
//GIF文件的路径
_LIT(KAnimExGuitarPlayer,"c:\\li.gif");

//创建一个CICLAnimationDataProvider 对象,并和GIF文件关联.
//The iEikonEnv 用来打开一个与文件系统的会话
CICLAnimationDataProvider* basicDataProvider = new (ELeave)CICLAnimationDataProvider;
CEikonEnv *iEikonEnv1 = CEikonEnv::Static();
basicDataProvider->SetFileL(iEikonEnv1->FsSession(), KAnimExGuitarPlayer());

//定义动画播放的坐标
const TInt KAnimExBasicPositionX = 10;
const TInt KAnimExBasicPositionY = 250;
TPoint position = TPoint(KAnimExBasicPositionX, KAnimExBasicPositionY);

//将动画设置为无限循环播放
TAnimationConfig config;
config.iFlags = TAnimationConfig::ELoop;
config.iData = -1;

//用数据提供者和上面定义的坐标,创建一个动画对象
iBasicAnim = CBasicAnimation::NewL(basicDataProvider,position, iEikonEnv1->WsSession(), Window());

//启动动画
iBasicAnim->Start(config);

//~CMultiViewsContainer1() ////////////////

iBasicAnim->Stop();
delete iBasicAnim;
iBasicAnim = NULL;
delete iBitmap;
iBitmap = NULL;

// 使用的LIB
/* [+] */ LIBRARY ws32.lib
/* [+] */ LIBRARY animation.lib
2008-01-06 15:28 | robin

# re: Symbian 的Gif显示.(暂且记录关键信息. 完善后再认真介绍)  回复  更多评论   

这个真机上可用吗?我的模拟器可以,真机不可以~~
2008-01-07 18:42 | KissFish

# re: Symbian 的Gif显示.(暂且记录关键信息. 完善后再认真介绍)  回复  更多评论   

偶测试了下,手头的N73,N80都不支持,N95可以正常显示。手头没有第二版手机,据说第二版手机比较新点的版本也支持~~
2008-01-07 21:29 | KissFish

# re: Symbian 的Gif显示.(暂且记录关键信息. 完善后再认真介绍)  回复  更多评论   

应该是2nd fp3以后就支持的
2008-03-06 17:24 | Khan's Notebook

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理