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

📄 mga_xwd.c

📁 linux下显示各种格式图片
💻 C
字号:
/* 	(c) HelDoRe	XWD unit ... v0.0.4			Supported formats :			16bpp 			24bpp*/			#define VERXWD " unit v0.0.4"#include <stdio.h>#include "../mga_view.h"void help_xwd(){printf("XWD%s\n   + 16 bpp\n   + 24 bpp\n   + 32 bpp\n",VERXWD);}int detect_xwd(){    int header,offs,bpp,offss;	    header=fgetc32(plik);	    tempi=fgetc32(plik);	    if (tempi != 7) return 1;	    fseek(plik,7,SEEK_CUR);	    depth=fgetc(plik);	    image_x=fgetc32(plik);	    image_y=fgetc32(plik);	    offs=fgetc32(plik);	    fseek(plik,19,SEEK_CUR);	    bpp=fgetc(plik);	    fseek(plik,28,SEEK_CUR);	    offss=fgetc32(plik);	    if (check_image(image_x,image_y,depth)==3) return 3;	    printf("XWD%s\n",VERXWD);	    printf("XWD v%i          : %ix%ix%i\n",tempi,image_x,image_y,depth);	    if (image_x != (image_x/2)*2) dodajx=1;	    if ((depth !=16) && (depth !=24)) {		printf("Only 16bpp and 24bpp XWD supported yet\n");		return 2;		}	    fseek(plik,100,SEEK_SET);	    printf("Comment         : ");	    while (tempi!=0) {	    tempi=fgetc(plik);	    printf("%c",(char)tempi);	    }	    printf("\n");	        if (depth==16){	    fseek(plik,header+offs+(offss*12)+1,SEEK_SET);   for (y=0;y<image_y;y++)      {      for (x=0;x<image_x;x++)       {	    tempi=fgetc(plik);	    header=fgetc(plik);	    tabr[x+y*image_x]=(tempi & 0xf8);	    tempi=(tempi & 0x07)<<5;	    depth=header;	    depth=(depth & 0xe0)>>3;	    tempi+=depth;	    tabg[x+y*image_x]=tempi;	    		    depth=(header & 0x1f)<<3;	    tabb[x+y*image_x]=depth;	    		}	if (dodajx==1) {	tempi=fgetc(plik);	tempi=fgetc(plik);	  }       }      }    if (depth==24){	    fseek(plik,header+offs+(offss*12),SEEK_SET);   for (y=0;y<image_y;y++)      {      for (x=0;x<image_x;x++)       {	    tempi=fgetc(plik);	    if (bpp==32) tabb[x+y*image_x]=tempi; else tabr[x+y*image_x]=tempi;	    tempi=fgetc(plik);	    tabg[x+y*image_x]=tempi;	    		    tempi=fgetc(plik);	    if (bpp==32) tabr[x+y*image_x]=tempi; else tabb[x+y*image_x]=tempi;	    if (bpp==32) tempi=fgetc(plik);	    	}       }      }    return 0;	}

⌨️ 快捷键说明

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