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

📄 mga_lbm.c

📁 linux下显示各种格式图片
💻 C
字号:
/* 	(c) HelDoRe	ILBM unit ... v0.0.2			Supported formats :			8 bpp RLE*/			#define VERLBM " unit v0.0.2"#define FORM 0x464F524D#define BODY 0x424F4459#include <stdio.h>#include "../mga_view.h"void help_lbm(){printf("LBM%s\n   +  8 bpp rle\n",VERLBM);}int detect_lbm(){    int compr,size,skok;    signed char dek;    tempi=fgetc32(plik);    if (tempi != FORM) return 1;    size=fgetc32(plik);    fseek(plik,8,SEEK_CUR);        skok=fgetc32(plik);    image_x=fgetc16(plik);    image_y=fgetc16(plik);    tempi=fgetc32(plik);    depth=fgetc(plik);    fgetc(plik);    compr=fgetc(plik);    if (check_image(image_x,image_y,depth)==3) return 3;    printf("ILBM%s\n",VERLBM);    printf("LBM detected    : %ix%ix%i ",image_x,image_y,depth);    if (compr==1) printf("compressed");    printf("\n");    fseek(plik,skok-7,SEEK_CUR);    skok=fgetc32(plik);    for (tempi=0;tempi<skok/3;tempi++) {	tab2r[tempi]=fgetc(plik);	tab2g[tempi]=fgetc(plik);	tab2b[tempi]=fgetc(plik);	}     do  {	tempi=fgetc32(plik);	skok=fgetc32(plik);	if (tempi!=BODY) fseek(plik,skok,SEEK_CUR);	}    while (tempi!=BODY);   for (y=0;y<image_y;y++)      {      for (x=0;x<image_x;x++)       {	if ((depth==8) && (compr==1)) { /* depth=8 compr=1 *///	if ((dek=fgetc(plik))==-1) return 0;	dek=fgetc(plik);		if (dek!=-128) {if (dek>=0) {	    skok=dek+1;	    for (tempi=0;tempi<skok;tempi++) {		size=fgetc(plik);		tabr[x+tempi+y*image_x]=tab2r[size];		tabg[x+tempi+y*image_x]=tab2g[size];		tabb[x+tempi+y*image_x]=tab2b[size];		}	    x+=tempi-1;	    } else {		skok=(-dek)+1;		size=fgetc(plik);	    for (tempi=0;tempi<skok;tempi++) {		tabr[x+tempi+y*image_x]=tab2r[size];		tabg[x+tempi+y*image_x]=tab2g[size];		tabb[x+tempi+y*image_x]=tab2b[size];		}	    x+=tempi-1;	}			}	} /* end depth=8 compr */       	if ((depth==8) && (compr==0)) { /* depth=8 compr=0 */	    if ((size=fgetc(plik))==-1) return 0;		tabr[x+y*image_x]=tab2r[size];		tabg[x+y*image_x]=tab2g[size];		tabb[x+y*image_x]=tab2b[size];	} /* end depth=8 nocompr */              }		      }          return 0;	}

⌨️ 快捷键说明

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