vc6.0开发的一个绘图程序,除了要求自绘各种图形外,还要能加载各种格式的图片。LoadImage肯定是不行的,后来使用IPicture从流中加载,可gif类型的图只能显示第一个画面。又在网上找了段分解gif的代码,代码中为了显示动画开了个线程,显示一张画面后等待一段时间再显示第二张,仔细想想也不行,我如果有很多动画要加载那不是要开很多线程,再说还涉及倒很多对图片的操作。后来找到CxImage,想用这个库实现,可不知道怎么用,里面有一些图片格式类型的文件夹,没看到gif的,哪位告诉我怎么用?或者有更好的方法的话指导我一下,万分感谢!
pImage->SetRetreiveAllFrames(true);
pImage->SetFrame(pImage->GetNumFrames()-1);
pImage->Load("g:\\test.gif",CXIMAGE_FORMAT_GIF);
在OnTimer的处理中
long m = pImage->GetNumFrames();
long n = pImage->GetFrame()+1;
if (n>=m) n=0;
if (pImage->GetFrame(n))
{
pImage->Copy(*pImage->GetFrame(n));
Invalidate(FALSE);
}
pImage->SetFrame(n);
Image image(L".jpg");
Graphics gr(hDC);
gr.DrawImage(&image, 0, 0, image.GetWidth(), image.GetHeight());