📄 mga_raw.c
字号:
/* (c) HelDoRe HSI RAW unit ... v0.0.4 Supported formats : 8bpp*/ #define VERRAW " unit v0.0.4"#include <stdio.h>#include "../mga_view.h"void help_raw(){printf("RAW%s\n + 8 bpp HSI RAW\n",VERRAW);}int detect_raw(){ int raw; raw=0; fseek(plik,0,SEEK_END); tempi=ftell(plik); if (tempi==64000 || tempi==64768) { image_x=320; image_y=200; depth=8; if (tempi==64000) raw=1; else raw=2; rewind(plik); } else { rewind(plik); tempi=fgetc32b(plik); if (tempi !=1635215469) return 1; tempi=fgetc32(plik); image_x=fgetc16(plik); image_y=fgetc16(plik); depth=fgetc16(plik); if (check_image(image_x,image_y,depth/8)==3) return 3; fseek(plik,18,SEEK_CUR); for (tempi=0;tempi<depth;tempi++) { tab2r[tempi]=fgetc(plik); tab2g[tempi]=fgetc(plik); tab2b[tempi]=fgetc(plik); } } printf("HSI RAW%s\n",VERRAW);if (raw==0) printf("HSI"); else printf("RAW"); printf(" RAW image : %ix%ix%i\n",image_x,image_y,depth); if (raw==2) { for (tempi=0;tempi<256;tempi++) { tab2r[tempi]=fgetc(plik); tab2g[tempi]=fgetc(plik); tab2b[tempi]=fgetc(plik); } } for (y=0;y<image_y;y++) { for (x=0;x<image_x;x++) { if ((depth <= 256) && ((raw==0) || (raw==2))) { if ((tempi=fgetc(plik))==-1) return 0; tabr[x+y*image_x]=tab2r[tempi]; tabg[x+y*image_x]=tab2g[tempi]; tabb[x+y*image_x]=tab2b[tempi]; } if (raw==1) { if ((tempi=fgetc(plik))==-1) return 0; tabr[x+y*image_x]=tempi/2; tabg[x+y*image_x]=tempi/4; tabb[x+y*image_x]=tempi; } } } return 0; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -