📄 mga_pix.c
字号:
/* (c) HelDoRe Alias Pix unit ... v0.0.3 Supported formats : 24bpp rle 8 bpp GRAY rle*/ #define VERPIX " unit v0.0.3"#include <stdio.h>#include "../mga_view.h"void help_pix(){printf("PIX%s\n + 8 bpp rle grayscale\n + 24 bpp rle\n",VERPIX);}int detect_pix(){ int r1,g1,b1,rozp; image_x=fgetc16(plik); image_y=fgetc16(plik); tempi=fgetc32(plik); depth=fgetc16(plik); if (((depth != 24) && (depth!=8)) || (image_x>ogr_x) || (image_y>ogr_y) || (image_x==0) || (image_y==0)) return 1; check_image(image_x,image_y,depth); printf("Alias PIX%s\n",VERPIX); printf("PIX detected : %ix%ix%i\n",image_x,image_y,depth); for (y=0;y<image_y;y++) { for (x=0;x<image_x;x++) { if ((tempi=fgetc(plik))==-1) return 0; if (tempi>1) { b1=fgetc(plik); if (depth==24) { g1=fgetc(plik); r1=fgetc(plik); } else { g1=b1; r1=b1; } rozp=0; while (rozp != tempi) { tabr[y*image_x+x]=r1; tabg[y*image_x+x]=g1; tabb[y*image_x+x++]=b1; rozp++; } x--; } else { tabb[y*image_x+x]=fgetc(plik); if (depth==24) { tabg[y*image_x+x]=fgetc(plik); tabr[y*image_x+x]=fgetc(plik); } else { tabg[y*image_x+x]=tabb[y*image_x+x]; tabr[y*image_x+x]=tabb[y*image_x+x]; } } } } return 0; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -