七行プログラミング part2at TECH
七行プログラミング part2 - 暇つぶし2ch480:デフォルトの名無しさん
02/07/11 18:47
寄せ集めで作ってみた無圧縮PNG。10行デス
CRCは>>448のを使わせてもらいました

#include <stdio.h>
typedef unsigned U;U X=128,C,t[256],i,j,a=256,h[17]={73,72,68,82},d[1<<18]={73,
68,65,84,120,218,1},l,M=1,N;FILE*f;B(U b){fputc(b,f);}W(U n){B(n>>24);B(n>>16);
B(n>>8);B(n);}S(U*b,U n){for(i=0;i<n;)B(b[i++]);for(i=0;i<a;t[i++]=C)for(C=i,j=
9;--j;)C=C/2^(C&1?0xedb88320:0);for(i=0,C=~0;i<n;)C=t[C%a^b[i++]&0xff]^C/a;W(~C
);}main(){f=fopen("mona.png","wb");W(0x89504e47);W(0xd0a1a0a);l=X+X*X*3;h[7]=h[
11]=X;h[12]=8;h[13]=2;W(13);S(h,17);d[7]=l;d[8]=l>>8;d[9]=~l;d[10]=~l>>8;l+=11;
for(i=11;i<l;M=(M+d[i++])%65521,N=(N+M)%65521)d[i]=(i-11)%(X*3+1)?i%a:0;d[i++]=
N>>8;d[i++]=N;d[i++]=M>>8;d[i++]=M;W(l);S(d,l+4);W(0);W(0x49454e44);
W(0xae426082);}



次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch