- 44 名前:S ◆Q14CxNhI mailto:sage [02/04/16 23:39]
- Java を知らないから全然縮まらない〜、と言ってみるテスト
import java.awt.*;import java.awt.image.*;import java.io.*;public class P extends Frame{byte[]s;int m,w,h,S=12,c,v,M,Q=0,q[];Image I;public static void main(String[]_){(new P(new File(_[0]))).show();}public P(File f){try{(new FileInputStream(f)).read(s=new byte[(int)f.length()]);}catch(Exception e){}w=L( 4);h=L(4);S=32;for(q=new int[w*h];Q<w*h;){m=s[S++];for(M=0;M<8&&Q<w*h;){if((m<< M++&128)>0)q[Q++]=255<<24|L(3);else{v=(s[S+1]&255)<<4;v+=s[S]>>4&15;for(c=s[S]& 15;c-->=0;q[Q]=q[Q++-v-1]);S+=2;}}}setSize(w+80,h+80);I=createImage(new MemoryImageSource(w,h,q,0,w));}public void paint(Graphics g){g.drawImage(I,40, 40,this);}int L(int l){for(v=c=0;c<l;v+=(s[S++]&255)<<c++*8);return v;}}
|

|