問題タブ [monochrome]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - Android は白黒のイメージビューのサイズを変更して灰色のピクセルを作成します
白と黒のピクセルのみを意味するモノクロの画像があります。すべての dpi フォルダーをカバーするために、いくつかのバージョンの画像を作成しました。Floodfill アルゴリズムを適用したいので、モノクロ画像を使用しています。問題は、一部のデバイスでは、Android がサイズ変更されたバージョンの画像を使用し、スケーリング中に灰色のピクセルがいくつかあることです。これに対処するために、ピクセルを修正してグレーを白または黒に変換しようとしましたが、これにはかなりの時間がかかります。イメージビューのサイズを変更している間にアンドロイドにモノクロ画像を生成させたり、クイックフィルターを適用してモノクロ画像を再生成させたりすることはできますか? 試したことはありませんが、nodpi フォルダーに異なるバージョンの画像を生成し、スケーリングせずに使用する必要がありますか?
python - Python Pillow が真の 1Bit Monochrome Image を生成しない
Python では、次のコードを使用して 1bpp イメージを作成しています。
ここのスタックでこのコードを見つけました: Can't format BMP image data to 1 bit per pixel in PIL
このコードはモノクロのビットマップのように見えるものを生成しますが、16 進エディタでデータを見ると、黒は FF が 1 つのピクセルで、白の 00 は 1 つの白いピクセルです。これは、データが 8bpp であり、PIL ドキュメントが示唆するような 1bpp ではないことを意味します ( https://pillow.readthedocs.org/en/3.1.x/handbook/concepts.html?highlight=bit )。FF (255) を 80 (128) に置き換えると画像にグレーが入るため、これが正しいことを確認しました。真のモノクロ ビットマップ イメージでは、グレーは発生しませんでした。
これは、真のモノクロ画像が 1 ビット/ピクセルであるためです。これらの 2 バイトを意味します。たとえば、AA AA は 16 ピクセルの市松模様の黒/白パターンを生成しますが、8bpp では 2 つのグレー ピクセルを生成します。
PIL の 1 ビット/ピクセル モードでは常にグレースケールが生成されることがわかりました。真の1bppを生成するのに役立つ別のライブラリを知っている人、または8ビットを1ビットに効率的に変換する方法を知っている人はいますか?
これが必要な理由は、レーザー プリンターに保存できる画像を作成しようとしているからです。レーザー プリンターは実際にはグレーを印刷できないため、プリンターには 1bpp が必要です。ディザリングを使用してグレーの外観を作成します。