3

Custom s'print DPT100-Sサーマルプリンターを使用してレシート印刷アプリケーションを作成しています。

1 行 384 ピクセルのグラフィックスを印刷できます。このデータは、48 バイト (48x8=384) を使用してプリンターに渡す必要があります。したがって、各「ビット」は、印刷される 1 つのドットを表します (ビットは白の場合「0」、黒の場合「1」になります)。

そのため、Windows ペイント (またはその他のプログラム) で生成されたモノクロ BMP を読み取り、Linux の C プログラムを使用してこのビット形式に変換するプログラムを作成する必要があります。

私を案内してください。

4

3 に答える 3

3

擬似コード:

Read BMP
For each row in BMP
    For each group of 8 pixels in row
        output_byte = 0
        For each pixel in current group of 8
            output_byte <<= 1             // shift output_byte left by one bit
            output_byte |= (pixel != 0)   // set rightmost bit in output_byte
                                          // according to input pixel value
        Save output_byte in bitmap
于 2011-11-18T11:30:11.377 に答える
2

ハーフトーンを見てください。

簡単な Google は、次のようなリファレンスと Java アプレットを取得します: http://www.markschulze.net/halftone/index.html

独自のプログラムを作成する必要がなく、市販のソフトウェアを喜んで使用する場合は、ImageMagick のconvertコマンドを試してください: http://www.imagemagick.org/Usage/quantize/#halftone

convert myfile.jpg -colorspace Gray  -ordered-dither h4x4a printable-file.bmp
于 2011-11-18T13:32:48.250 に答える
2

このリンクには、必要に応じて同じことを行う LCD アシスタントと呼ばれるソフトウェアがあります。ペイントを使用して画像をビットマップに変換し、その bmp 画像をソフトウェアにインポートする必要があります。選択できる出力は 384 X xyz です。出力ピクセルは HEX で取得します。

于 2014-02-06T06:53:13.183 に答える