📄 lj250of.c
字号:
ELSEIFMAC(sh,210,224,188) ELSEIFMAC(sh,225,239,186) ELSEIFMAC(sh,240,254,160) ELSEIFMAC(sh,255,269,151) ELSEIFMAC(sh,270,284,198) ELSEIFMAC(sh,285,299,199) ELSEIFMAC(sh,300,314,197) ELSEIFMAC(sh,315,329,209) ELSEIFMAC(sh,330,349,246) goto done; } if(sl >= 29 && sl <= 42 && ss >= 50 && ss <= 100) { IFMAC ELSEIFMAC(sh,350,9,5) ELSEIFMAC(sh,10,19,6) ELSEIFMAC(sh,20,29,14) ELSEIFMAC(sh,30,39,28) ELSEIFMAC(sh,40,49,39) ELSEIFMAC(sh,50,59,57) ELSEIFMAC(sh,60,69,65) ELSEIFMAC(sh,70,79,56) ELSEIFMAC(sh,80,89,75) ELSEIFMAC(sh,90,99,64) ELSEIFMAC(sh,100,109,82) ELSEIFMAC(sh,110,129,91) ELSEIFMAC(sh,130,139,74) ELSEIFMAC(sh,140,149,100) ELSEIFMAC(sh,150,159,253) ELSEIFMAC(sh,160,169,111) ELSEIFMAC(sh,170,179,135) ELSEIFMAC(sh,180,189,121) ELSEIFMAC(sh,190,199,152) ELSEIFMAC(sh,200,209,130) ELSEIFMAC(sh,210,219,179) ELSEIFMAC(sh,220,229,155) ELSEIFMAC(sh,230,249,163) ELSEIFMAC(sh,250,259,191) ELSEIFMAC(sh,260,269,180) ELSEIFMAC(sh,270,279,203) ELSEIFMAC(sh,280,289,202) ELSEIFMAC(sh,290,299,216) ELSEIFMAC(sh,300,309,215) ELSEIFMAC(sh,310,319,226) ELSEIFMAC(sh,320,329,224) ELSEIFMAC(sh,330,339,233) ELSEIFMAC(sh,340,349,242) goto done; } if(sl >= 43 && sl <= 57 && ss >= 1 && ss <= 33) { IFMAC ELSEIFMAC(sh,330,344,10) ELSEIFMAC(sh,345,359,21) ELSEIFMAC(sh,0,14,22) ELSEIFMAC(sh,15,29,11) ELSEIFMAC(sh,30,44,41) ELSEIFMAC(sh,45,59,45) ELSEIFMAC(sh,60,74,61) ELSEIFMAC(sh,75,89,40) ELSEIFMAC(sh,90,104,63) ELSEIFMAC(sh,105,119,62) ELSEIFMAC(sh,120,134,88) ELSEIFMAC(sh,135,149,89) ELSEIFMAC(sh,150,164,173) ELSEIFMAC(sh,165,179,158) ELSEIFMAC(sh,180,194,136) ELSEIFMAC(sh,195,209,172) ELSEIFMAC(sh,210,224,178) ELSEIFMAC(sh,225,239,189) ELSEIFMAC(sh,240,254,154) ELSEIFMAC(sh,255,269,185) ELSEIFMAC(sh,270,289,219) ELSEIFMAC(sh,290,309,220) ELSEIFMAC(sh,310,329,218) goto done; } if(sl >= 43 && sl <= 57 && ss >= 34 && ss <= 66) { IFMAC ELSEIFMAC(sh,345,351,7) ELSEIFMAC(sh,352,359,243) ELSEIFMAC(sh,0,6,16) ELSEIFMAC(sh,7,14,4) ELSEIFMAC(sh,15,21,15) ELSEIFMAC(sh,22,29,27) ELSEIFMAC(sh,30,36,38) ELSEIFMAC(sh,37,44,29) ELSEIFMAC(sh,45,51,59) ELSEIFMAC(sh,52,59,55) ELSEIFMAC(sh,60,66,66) ELSEIFMAC(sh,67,74,60) ELSEIFMAC(sh,75,81,54) ELSEIFMAC(sh,82,89,53) ELSEIFMAC(sh,90,96,83) ELSEIFMAC(sh,97,104,84) ELSEIFMAC(sh,105,111,73) ELSEIFMAC(sh,112,119,72) ELSEIFMAC(sh,120,126,92) ELSEIFMAC(sh,127,134,101) ELSEIFMAC(sh,135,141,252) ELSEIFMAC(sh,142,149,251) ELSEIFMAC(sh,150,156,110) ELSEIFMAC(sh,157,164,109) ELSEIFMAC(sh,165,171,145) ELSEIFMAC(sh,172,179,144) ELSEIFMAC(sh,180,186,122) ELSEIFMAC(sh,187,194,134) ELSEIFMAC(sh,195,201,162) ELSEIFMAC(sh,202,209,250) ELSEIFMAC(sh,210,216,139) ELSEIFMAC(sh,217,224,138) ELSEIFMAC(sh,225,231,177) ELSEIFMAC(sh,232,239,176) ELSEIFMAC(sh,240,246,164) ELSEIFMAC(sh,247,254,153) ELSEIFMAC(sh,255,261,201) ELSEIFMAC(sh,262,269,190) ELSEIFMAC(sh,270,276,192) ELSEIFMAC(sh,277,284,204) ELSEIFMAC(sh,285,291,213) ELSEIFMAC(sh,292,299,214) ELSEIFMAC(sh,300,306,217) ELSEIFMAC(sh,307,314,212) ELSEIFMAC(sh,315,321,231) ELSEIFMAC(sh,322,329,234) ELSEIFMAC(sh,330,336,232) ELSEIFMAC(sh,337,344,225) goto done; } if(sl >= 43 && sl <= 57 && ss >= 67 && ss <= 100) { IFMAC ELSEIFMAC(sh,353,7,9) ELSEIFMAC(sh,8,22,17) ELSEIFMAC(sh,23,37,30) ELSEIFMAC(sh,38,52,58) ELSEIFMAC(sh,53,67,67) ELSEIFMAC(sh,68,82,76) ELSEIFMAC(sh,83,97,85) ELSEIFMAC(sh,98,112,86) ELSEIFMAC(sh,113,127,87) ELSEIFMAC(sh,128,142,102) ELSEIFMAC(sh,143,157,114) ELSEIFMAC(sh,158,172,118) ELSEIFMAC(sh,173,187,123) ELSEIFMAC(sh,188,202,131) ELSEIFMAC(sh,203,217,141) ELSEIFMAC(sh,218,232,156) ELSEIFMAC(sh,233,247,181) ELSEIFMAC(sh,248,262,184) ELSEIFMAC(sh,263,277,193) ELSEIFMAC(sh,278,292,205) ELSEIFMAC(sh,293,307,227) ELSEIFMAC(sh,308,322,235) ELSEIFMAC(sh,323,337,244) ELSEIFMAC(sh,338,352,247) goto done; } if(sl >= 58 && sl <= 71 && ss >= 1 && ss <= 49) { IFMAC ELSEIFMAC(sh,300,359,23) ELSEIFMAC(sh,0,59,12) ELSEIFMAC(sh,60,119,107) ELSEIFMAC(sh,120,179,106) ELSEIFMAC(sh,180,239,171) ELSEIFMAC(sh,240,299,170) goto done; } if(sl >= 58 && sl <= 71 && ss >= 50 && ss <= 100) { IFMAC ELSEIFMAC(sh,350,359,18) ELSEIFMAC(sh,0,9,8) ELSEIFMAC(sh,10,19,32) ELSEIFMAC(sh,20,29,31) ELSEIFMAC(sh,30,39,47) ELSEIFMAC(sh,40,49,46) ELSEIFMAC(sh,50,69,68) ELSEIFMAC(sh,70,79,78) ELSEIFMAC(sh,80,89,77) ELSEIFMAC(sh,90,99,94) ELSEIFMAC(sh,100,109,93) ELSEIFMAC(sh,110,119,96) ELSEIFMAC(sh,120,129,95) ELSEIFMAC(sh,130,139,104) ELSEIFMAC(sh,140,149,113) ELSEIFMAC(sh,150,159,119) ELSEIFMAC(sh,160,169,117) ELSEIFMAC(sh,170,189,124) ELSEIFMAC(sh,190,199,133) ELSEIFMAC(sh,200,209,132) ELSEIFMAC(sh,210,219,140) ELSEIFMAC(sh,220,229,157) ELSEIFMAC(sh,230,239,166) ELSEIFMAC(sh,240,249,165) ELSEIFMAC(sh,250,259,182) ELSEIFMAC(sh,260,269,183) ELSEIFMAC(sh,270,279,207) ELSEIFMAC(sh,280,289,206) ELSEIFMAC(sh,290,309,228) ELSEIFMAC(sh,310,319,237) ELSEIFMAC(sh,320,329,236) ELSEIFMAC(sh,330,339,249) ELSEIFMAC(sh,340,349,248) goto done; } if(sl >= 72 && sl <= 85 && ss >= 1 && ss <= 49) { IFMAC ELSEIFMAC(sh,0,119,70) ELSEIFMAC(sh,120,239,126) ELSEIFMAC(sh,240,359,230) goto done; } if(sl >= 72 && sl <= 85 && ss >= 50 && ss <= 100) { IFMAC ELSEIFMAC(sh,345,354,20) ELSEIFMAC(sh,355,4,19) ELSEIFMAC(sh,5,14,33) ELSEIFMAC(sh,15,29,49) ELSEIFMAC(sh,30,44,48) ELSEIFMAC(sh,45,74,69) ELSEIFMAC(sh,75,89,80) ELSEIFMAC(sh,90,104,79) ELSEIFMAC(sh,105,114,105) ELSEIFMAC(sh,115,124,103) ELSEIFMAC(sh,125,134,112) ELSEIFMAC(sh,135,149,116) ELSEIFMAC(sh,150,164,115) ELSEIFMAC(sh,165,194,125) ELSEIFMAC(sh,195,209,143) ELSEIFMAC(sh,210,224,142) ELSEIFMAC(sh,225,234,168) ELSEIFMAC(sh,235,244,167) ELSEIFMAC(sh,245,254,169) ELSEIFMAC(sh,255,269,195) ELSEIFMAC(sh,270,284,194) ELSEIFMAC(sh,285,314,229) ELSEIFMAC(sh,315,329,238) ELSEIFMAC(sh,330,344,245) /****** This can't be necessary ****** I may nuke it AT ******/ /* royal kludge to account for poor skin tone abilities of printer */ if(tmpcol == 105 || tmpcol == 103 || tmpcol == 112) { sh = 200; sl = 80; ss = 40; tmpcol = 126; } goto done; }done: if(tmpcol) { register int stringlen; lastcol = tmpcol; tmpcol = tmpcol - 1; if(!didload[tmpcol].colour_len) { register char *p; if(sh == -1) sh = 0; sprintf(base_band,"#%d;1;%d;%d;%d",tmpcol,sh,sl,ss); p = strchr(base_band, ';'); stringlen = p - base_band; didload[tmpcol].colour_len = stringlen; strncpy(didload[tmpcol].colour_number, base_band, stringlen); base_band += strlen(base_band); } /* * This is done very often so don't use * strncpy */#if 0 strncpy(base_band, didload[tmpcol].colour_number, didload[tmpcol].colour_len); base_band += didload[tmpcol].colour_len;#endif for (i=0; i<didload[tmpcol].colour_len; i++) { *base_band++ = didload[tmpcol].colour_number[i]; } } ij = tmpycnt%6; *base_band++ = (1<<ij) + SOFF; srcptr+=n; xcnt-=n; } *base_band = '\0'; for(cp = pb, lastc = *cp++; lastc; cp++) { if(*cp != lastc) { if(count >= 4) fprintf(output,"!%d%c",count,lastc); else while(count--)putc(lastc,output); count = 1; lastc = *cp; } else count++; } if (ij == 5) { putc('-', output); } else { putc('$', output); } count=1; srcptr=nxtptr; if(im.format != ITS) nxtptr=srcptr+im.spbxnm * n; else nxtptr=srcptr+(im.spbxnm * n * 3); ycnt-= n; tmpycnt++; lastcol = -1; } fprintf(output,"\033\\"); return(0);}readXimghdr(){ register int tmp; size=HEDLEN*512; bcopy(filestorage+globi, (char *)&im, (int)size); globi = globi + size; if(im.imgflg != IMGFLG) return(1); if(im.format != QDSS || im.spbgnm != 1) { if(im.format != ITS) return(1); } if(im.format == ITS) { tmp = im.spbxnm; im.spbxnm = im.spbynm; im.spbynm = tmp; im.spblen = im.spblen * 3; } return(0);}readXimgcmp(){ if(im.format == ITS) return(0); size=im.cmplen*512; if(size==0) return(1); if((cmpptr=(short *) malloc(size))==NULL) return(1); bcopy(filestorage+globi, (char *)cmpptr, (int)size); globi = globi + size; return(0);}readXimgdat(){ size=im.spblen*512; if((imgptr=(char *) malloc(size))==NULL) { return(1); } bcopy(&filestorage[globi],imgptr,in-globi); fread(imgptr+(in-globi), (char)size-(in-globi), 1, input); return(0);}rgbtohls(sr,sg,sb,sh,sl,ss) unsigned short sr,sg,sb; short *sh,*sl,*ss;{ double r,g,b,h,l,s; double rc,gc,bc; double max,min; r = ((double)sr)/255.0; g = ((double)sg)/255.0; b = ((double)sb)/255.0; max = MAXIMUM(r,g,b); min = MINIMUM(r,g,b); l = (max+min)/2.0; if(max == min) { s = 0.0; h = -1.0; } else { if(l <= 0.5) { s = (max - min)/(max + min); } else { s = (max - min)/(2.0 - max - min); } rc = 1.0-(max - r)/(max - min); gc = 1.0-(max - g)/(max - min); bc = 1.0-(max - b)/(max - min); if(b == max) { h = rc - gc; goto done; } if(g == max) { h = 4.0 + bc - rc; goto done; } if(r == max) { h = 2.0 + gc - bc; goto done; }done: h = h*60.0; if(h < 0.0) { h = h + 360.0; } } *sh = (short)h; *sl = (short)(l * 100.0); *ss = (short)(s * 100.0);}rotateXimgdat(){ register char *rotimgptr; register char *nxtptr; register int xcnt = 0; register int ycnt = 0; register int size; char *startrotptr; rotimgptr = imgptr; size=im.spblen*512; if((rotptr = (char *)malloc((unsigned)size)) == NULL) return(1); startrotptr = rotptr; rotimgptr += (im.spbynm-1)*im.spbxnm; nxtptr = rotimgptr+1; while(ycnt < im.spbxnm) { while(xcnt < im.spbynm) { *rotptr = *rotimgptr; rotimgptr -= im.spbxnm; rotptr++; xcnt++; } xcnt = 0; ycnt++; rotimgptr = nxtptr; nxtptr++; } xcnt = im.spbxnm; im.spbxnm = im.spbynm; im.spbynm = xcnt; free(imgptr); imgptr = startrotptr; return(0);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -