⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mga_ras.c

📁 linux下显示各种格式图片
💻 C
字号:
/* 	(c) HelDoRe	SUN RAS unit ...    v0.0.3			  Supported formats :			    8 bpp 6 bpp RLE*/				#define VERRAS " unit v0.0.3"#include <stdio.h>#include "../mga_view.h"void help_ras(){printf("RAS%s\n   +  8 bpp\n   +  8 bpp RLE\n",VERRAS);}int detect_ras(){    int len,type,val;    	    tempi=fgetc32(plik);	    if (tempi !=0x59a66a95) return 1;		image_x=fgetc32(plik);		image_y=fgetc32(plik);		depth=fgetc32(plik);		len=fgetc32(plik);		type=fgetc32(plik);		fseek(plik,8,SEEK_CUR);		if (check_image(image_x,image_y,depth)==3) return 3;		printf("SUN RAS%s\n",VERRAS);		printf("RAS %ix%ix%i ",image_x,image_y,depth);				switch (type) {		  case 0:printf("old");break;		  case 1:printf("standard");break;		  case 2:printf("RLE");break;		  case 0xffff:printf("experimental");break;		  default:break;		  }		  printf("\n");		  		if (depth==8) {  		for (tempi=0;tempi<256;tempi++) {		    tab2r[tempi]=fgetc(plik);		    }		for (tempi=0;tempi<256;tempi++) {		    tab2g[tempi]=fgetc(plik);		    }		for (tempi=0;tempi<256;tempi++) {		    tab2b[tempi]=fgetc(plik);		    }		    }					    		    if ((type==0) || (type==1)) {		    for (y=0;y<image_y;y++) {		           for (x=0;x<image_x;x++)		            {				tempi=fgetc(plik);				tabr[x+y*image_x]=tab2r[tempi];				tabg[x+y*image_x]=tab2g[tempi];				tabb[x+y*image_x]=tab2b[tempi];		           }		  }		  }		  		    if (type==2) {		    for (y=0;y<image_y;y++) {		           for (x=0;x<image_x;x++)		            {				if ((tempi=fgetc(plik))==-1) return 0;				if (tempi!=0x80) {				tabr[x+y*image_x]=tab2r[tempi];				tabg[x+y*image_x]=tab2g[tempi];				tabb[x+y*image_x]=tab2b[tempi];				} else  {				len=fgetc(plik);				if (len==0) {								tabr[x+y*image_x]=tab2r[0x80];				tabg[x+y*image_x]=tab2g[0x80];				tabb[x+y*image_x]=tab2b[0x80];				} else {				val=fgetc(plik);				for (tempi=0;tempi<len+1;tempi++) {				tabr[x+y*image_x]=tab2r[val];				tabg[x+y*image_x]=tab2g[val];				tabb[y*image_x+x++]=tab2b[val];				if (x>=image_x+1) {x=1;y++;}				}				x--;												}		   }		  }		  }		  }		  		      return 0;	}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -