For a halftone representation of a grayscale data of an original image of P tones, an output resolution, a screen ruling frequency, and a screen angle are based to set a basic array of L.times.L pixels, where L is an integer greater than 1, and a number N of tones reproducible by the basic array is compared with P to generate a dither array using the basic array as its sub-array, such that numbers are assigned to pixels of sub-arrays by a prescribed rule, in order between the sub-arrays, starting from prescribed ones of centered and centermost pixels of the sub-arrays.