ani2.cpp in eye_pic.rar


VC6.0 prepared by a variety of picture formats browser, for example : bmp, gif,...Original Link
    Sponsored links

			
#include "stdafx.h"
#include <io.h>
#include <fcntl.h>
#include "../public/imgrwl.h"
#include "../public/resdyn.h"
#include "ani.h"

//#define __TEST

int FindInFile(int fd,DWORD tag)
{
	DWORD dw;int l;
	do{
		l=read(fd,&dw,4);
		lseek(fd,-3,SEEK_CUR);
	}while(dw!=tag && l==4);
	lseek(fd,-1,SEEK_CUR);
	return l==4;
}

HANDLE LoadAni(LPCTSTR fn)
{
#ifdef __TEST
	CFile tf;
#endif

	int fd;HANDLE hResDyn=0;
	ANIFILEHEADER anih;
	ACONHEAD aconh;
	ICOCURPAGEINFO pagei;
	DWORD tag,i;
	int data_size;/*静态光标文件页数椐大小*/
	int len;

	if ((fd=open(fn,O_RDONLY)==-1)) return 0;
	read(fd,&anih,sizeof(ANIFILEHEADER));
	if (anih.AniTag!=*(DWORD*)"RIFF") goto fail;

	do{		//找出"anih"部分
		tag=*(DWORD*)"anih";			//tag 为 "anih"
		FindInFile(fd,tag);
		read(fd,&aconh,sizeof(ACONHEAD));
	}while (aconh.Size!=0x24||aconh.Size!=0x24);
////////////////////////////////////////////////////////////////
//	len=anih.AniContentSize;
//注释去以下程序块以空间换时间
	//计算内部数据块大小
	len=sizeof(RESDYNDATAHEADER)
		+sizeof(DISPLAYFRAMEINFO)*aconh.DisplayFrameQuantity
		+sizeof(STOREFRAMEINFO)*aconh.StoreFrameQuantity;
	do{
		tag=*(DWORD*)"fram";
		FindInFile(fd,tag);
		lseek(fd,4,SEEK_CUR);
		read(fd,&tag,4);
		lseek(fd,-7,SEEK_CUR);
	}while (tag!=*(DWORD*)"icon");	//找出"framicon"位置
	for (i=0;i<aconh.StoreFrameQuantity;i++)
	{
		tag=*(DWORD*)"icon";
		FindInFile(fd,tag);
		lseek(fd,14,SEEK_CUR);//跳过cur文件头
		read(fd,&pagei,sizeof(ICOCURPAGEINFO));	//读页头
		//计算页数据大小,调色板大小+数据大小
		data_size=pagei.PageSize-sizeof(ICOCURPAGEHEADER);
		len+=data_size;
	}
//////////////////////////////////////////////////////////////////
	//分配全局内存块
	hResDyn=GlobalAlloc(GHND,len);
	if (!hResDyn) goto fail;

	//向内存块填入数据
	LPBYTE lpResDyn,lpData;
	LPRESDYNDATAHEADER lpDataHead;
	LPDISPLAYFRAMEINFO lpDispInfos;
	LPSTOREFRAMEINFO lpStoreInfos;

	lpResDyn=(BYTE*)G			

			...
			...
			... to be continued.

  This is a preview. To get the complete source file, 
  please click here to download the whole source code package.

			
			


Project Files

    Sponsored links
NameSizeDate
 eye.exe48.00 kB08-12-01 16:23
 pcxrwl.dll24.00 kB28-11-01 19:29
 bmprwl.dll24.00 kB02-12-01 19:46
 jpegrwl.dll36.00 kB28-11-01 19:30
 IcoCurRwl.dll24.00 kB03-12-01 11:52
 AniRwl.dll24.00 kB08-12-01 16:23
 GifRwl.dll32.00 kB08-12-01 16:22
 <rwl>0.00 B08-12-01 16:56
 <eye1204>0.00 B08-03-05 21:34
 Eye.dsw1.67 kB05-12-01 19:25
 日志.txt1.48 kB06-12-01 17:46
 GifRwl.clw322.00 B05-12-01 19:25
 ReadMe.txt2.50 kB05-12-01 19:25
 GifRwl.cpp1.71 kB05-12-01 19:25
 GifRwl.h1.22 kB05-12-01 19:25
 GifRwl.def200.00 B05-12-01 19:29
 StdAfx.h1.41 kB05-12-01 19:25
 StdAfx.cpp208.00 B05-12-01 19:25
 Resource.h378.00 B05-12-01 19:25
 GifRwl.rc2.99 kB05-12-01 19:25
 GifRwl.dsp4.35 kB07-12-01 22:52
 gif.cpp5.65 kB07-12-01 19:33
 GifRwl.aps17.51 kB07-12-01 20:56
 GifRwl.plg1.21 kB08-12-01 16:22
 gif89a.cpp13.25 kB05-12-01 20:59
 gif89a.h1.64 kB17-10-00 12:43
 old_gif.cpp4.13 kB06-12-01 15:41
 gif2.cpp4.06 kB08-12-01 16:21
 GifRwl.rc2398.00 B05-12-01 19:25
 <res>0.00 B08-12-01 19:31
 <Debug>0.00 B20-03-05 22:05
 <GifRwl>0.00 B08-12-01 19:31
 imgRWL.h2.24 kB03-12-01 11:58
 IcoCur.h1.19 kB03-12-01 11:30
 pcx.h751.00 B24-11-01 20:22
 resdyn.h1.48 kB08-12-01 16:14
 <public>0.00 B08-12-01 19:32
 IcoCurRwl.clw340.00 B30-11-01 20:14
 ReadMe.txt2.54 kB30-11-01 20:14
 IcoCurRwl.dsw541.00 B30-11-01 20:14
 IcoCurRwl.cpp1.74 kB30-11-01 20:14
 IcoCurRwl.h1.26 kB30-11-01 20:14
 IcoCurRwl.def209.00 B30-11-01 21:31
 StdAfx.h1.41 kB30-11-01 20:14
 StdAfx.cpp211.00 B30-11-01 20:14
 Resource.h381.00 B30-11-01 20:14
 IcoCurRwl.rc3.01 kB30-11-01 20:14
 IcoCurRwl.ncb33.00 kB30-11-01 20:15
 IcoCurRwl.dsp4.28 kB30-11-01 21:49
 IcoCurRwl.aps17.55 kB30-11-01 20:14
 IcoCurRwl.opt47.50 kB30-11-01 20:15
 IcoCur.cpp1.64 kB03-12-01 11:52
 IcoCurRwl.plg1.08 kB05-12-01 21:48
 IcoCurRwl.rc2401.00 B30-11-01 20:14
 <res>0.00 B08-12-01 19:32
 <IcoCurRwl>0.00 B08-12-01 19:32
 plugbmp.clw328.00 B24-11-01 10:58
 ReadMe.txt2.52 kB24-11-01 10:58
 plugbmp.cpp1.76 kB26-11-01 19:10
 plugbmp.h1.23 kB24-11-01 10:58
 plugbmp.def205.00 B26-11-01 19:04
 StdAfx.h1.41 kB24-11-01 10:58
 StdAfx.cpp209.00 B24-11-01 10:58
 Resource.h379.00 B24-11-01 10:58
 plugbmp.rc3.00 kB24-11-01 10:58
 plugbmp.dsp4.30 kB26-11-01 22:41
 bmp.cpp1.84 kB02-12-01 19:43
 bmp.h157.00 B24-11-01 20:19
 plugbmp.plg1.85 kB02-12-01 19:46
 plugbmp.aps17.52 kB26-11-01 20:46
 plugbmp.rc2399.00 B24-11-01 10:58
 <res>0.00 B08-12-01 19:32
 <plugbmp>0.00 B08-12-01 19:32
 Eye.clw2.99 kB08-12-01 16:22
 ReadMe.txt4.14 kB26-11-01 16:08
 Eye.dsw529.00 B26-11-01 16:08
 Eye.h1.36 kB26-11-01 20:46
 Eye.cpp4.37 kB26-11-01 20:56
 StdAfx.h1.03 kB26-11-01 16:08
 StdAfx.cpp205.00 B26-11-01 16:08
 MainFrm.h1.64 kB02-12-01 11:57
 MainFrm.cpp4.15 kB06-12-01 11:41
 EyeDoc.h1.78 kB04-12-01 12:43
 EyeDoc.cpp4.62 kB04-12-01 12:43
 EyeView.h2.70 kB08-12-01 13:09
 EyeView.cpp7.55 kB08-12-01 13:15
 resource.h1.39 kB08-12-01 13:08
 Eye.rc9.87 kB08-12-01 13:08
 Eye.ncb89.00 kB08-12-01 16:54
 Eye.dsp5.37 kB04-12-01 19:07
 Eye.plg1.07 kB08-12-01 16:23
 Eye.opt47.50 kB08-12-01 16:54
 RwlList.h1.10 kB04-12-01 19:25
 RwlList.cpp2.06 kB04-12-01 19:30
 Eye.aps44.34 kB08-12-01 13:08
 path.cpp2.41 kB29-11-01 16:42
 path.h214.00 B29-11-01 13:29
 image.h1.78 kB08-12-01 13:12
 image.cpp10.61 kB08-12-01 16:19
 PluginfoDlg.h1.20 kB04-12-01 20:03
 PluginfoDlg.cpp2.22 kB04-12-01 20:05
 Eye.rc2395.00 B26-11-01 16:08
 EyeDoc.ico1.05 kB26-11-01 16:08
 Toolbar.bmp1.99 kB08-12-01 13:08
 cursor1.cur326.00 B27-11-01 22:45
 cur00001.cur326.00 B28-11-01 12:57
 cur00002.cur326.00 B28-11-01 20:15
 Eye.ico2.49 kB27-11-01 22:29
 <res>0.00 B08-12-01 19:32
 <Eye>0.00 B08-12-01 19:32
 AniRwl.clw322.00 B03-12-01 13:02
 ReadMe.txt2.50 kB03-12-01 13:02
 AniRwl.cpp1.71 kB03-12-01 13:02
 AniRwl.h1.22 kB03-12-01 13:02
 AniRwl.def200.00 B03-12-01 13:08
 StdAfx.h1.41 kB03-12-01 13:02
 StdAfx.cpp208.00 B03-12-01 13:02
 Resource.h378.00 B03-12-01 13:02
 AniRwl.rc2.99 kB03-12-01 13:02
 AniRwl.dsp4.28 kB04-12-01 16:46
 ani.cpp5.64 kB08-12-01 16:16
 ani.h1.58 kB03-12-01 21:11
 AniRwl.plg1.37 kB08-12-01 16:23
 AniRwl.aps17.51 kB04-12-01 12:37
 ani2.cpp4.85 kB04-12-01 16:40
 AniRwl.rc2398.00 B03-12-01 13:02
 <res>0.00 B08-12-01 19:32
 <AniRwl>0.00 B08-12-01 19:32
 <eye1204_src>0.00 B08-03-05 21:34
 read.txt181.00 B08-03-05 21:35
 <eye_pic>0.00 B0% 08-03-05
...

Related Items

    Sponsored links