�����ε���ǻøɽ��(�ץ��������)
�����ε���ǻøɽ����Ԥ��ץ������δ�ñ�����ʲ��˼�����
�����Ǥϥǥ����ޥȥ�å����Ȥ��ưʲ��Τ褦��2x2�Τ�Τ�
�Ѥ��Ƥ��롣
�ºݤˤϥץ������Ǽ����褦�ˡ�5�ʳ���ʬ����0��4��Ʊ��
��Ψ�ǽи�����褦�ˤ��Ƥ��롣�ºݤΥǥ����ޥȥ�å������ͤ�
�Ǥ��롣
/* dither.c */
/* a simplified example of dither into 2 bit image */
/* usage dither < file.pgm > file2.pgm */
#include <stdio.h>
static int matrix[2][2] = {51,153,204,102};
/* 255*(1/5), 255*(3/5), 255*(4/5), 255*(2/5) */
main()
{
int width,height;
char buffer[80];
int dx,dy;
int x, y;
int pix;
gets(buffer); puts(buffer);
gets(buffer); puts(buffer);
sscanf(buffer,"%d %d",&width,&height);
gets(buffer); puts(buffer);
dx = dy = 0;
for (y = 0; y < height; y++) {
for (x = 0; x < width; x++) {
pix = getchar();
if ( pix > matrix[dy][dx] ) pix = 255;
else pix = 0;
putchar(pix);
dx ^= 1;
}
dy ^=1;
}
}
��̤ϰʲ��ΤȤ��ꡣ�������äȤޤ��ʥǥ�������٤ƤߤƤ���������

(��Υץ������˿��碌������ gif����pgm���Ѵ������Ǥ���pgm��gif��
�Ѵ����ʤ��� Netscape�ˤ�ɽ���Ǥ��ޤ���Τ�ǰ�Τ��ᡣ)
- �����Ǥϥǥ����ޥȥ�å����� 2 x 2 �Ǥ��ä����������
N x N �Υޥȥ�å��� DN�˳�ĥ����ˤϡ�
| 4DN/2 | 4DN/2+2UN/2 |
DN =�� |
| 4DN/2+3UN/2 | 4DN/2+UN/2 |
(â����UN �ϳ����Ǥ�1��N x N �Υޥȥ�å���)�Ȥ���Ф褤��
4 x 4 �Υǥ����ޥȥ�å�������衣
- 4x4�Υޥȥ�å�����Ȥä��ǥ����ץ�������������衣
- 2x2�Υޥȥ�å����� PPM �����Υ��顼������Ŭ�Ѥ���ץ�������
���ʤ�����