問題タブ [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.
colors - RGBからモノクロへの変換
ピクセルのRGB値を単一のモノクロ値に変換するにはどうすればよいですか?
c# - 画像をモノクロのバイト配列に変換する
C#をEPL2プリンター言語とインターフェイスするライブラリを作成しています。私が実装しようとしている機能の1つは、画像の印刷です。仕様書には次のように書かれています。
p1=グラフィックの幅バイト単位のグラフィックの幅。8ドット=1バイトのデータ。
p2 =グラフィックの長さドット(または印刷行)単位のグラフィックの長さ
データ=グラフィックファイル形式のない生のバイナリデータ。データはバイト単位である必要があります。グラフィックデータの合計量については、バイト単位の幅(p1)に印刷行数(p2)を掛けます。プリンタは、この式に基づいてデータブロックの正確なサイズを自動的に計算します。
ソース画像は1ピクセルあたり1ビットのbmpファイルで、すでにサイズに合わせてスケーリングされていることを計画しています。そのフォーマットからbyte[]に変換して、プリンターに送信する方法がわかりません。成功してみImageConverter.ConvertTo(Object, Type)
ましたが、出力される配列が正しいサイズではなく、出力のフォーマット方法に関するドキュメントが非常に不足しています。
私の現在のテストコード。
まったく別の方向に進んでいても、どんな助けでも大歓迎です。
image - モノクロビットマップ
簡単なものでなければなりません。
私は、バイナリデータの長いシーケンスを処理しようとしているScalaに取り組んでいます。これは、0と1の長いリストです。この種のデータを保存/アクセスするための「最良の」方法は何ですか。
ここで重要なのはメモリの最適化です。したがって、ブール値を格納するためにバイト全体を使用することは避けたいと思います。また、アクセスは非常に重要なので、バイトに分割してから配列に分割することは避けたいと思います。
BitMapは良い考えですか?Scalaにそのようなクラスはありますか?
そうでない場合は、ByteArrayを使用するのが最善でしょうか?これをどのように実装しますか?
他のアイデアはありますか?
ありがとう、
c++ - GDI + Bitmap::GetHBITMAPによって取得されたHBITMAPからモノクロビットマップを作成できません
SetBkColor()>BitBlt[SRCCOPY]で24BPPカラー画像のモノクロマスクを作成できません。マスクは完全に黒くなります。代わりにLoadImage()を使用してHBITMAPを取得した場合にのみ、すべてが機能します。
同じ問題を抱えている他の人々は、Graphics :: GetHDCを使用し、回避策としてこのDCで必要なことを行うことを提案しています。しかし、なぜそれが正常に機能しないのですか。
この回避策でさえも機能します。助けてください :(
c# - 全画面をモノクロにし、その他の全画面効果を作成する
誰かがc#または任意のプログラミング言語で画面全体に効果を適用する方法を知っていますか?私は主に画面をモノクロにすることに興味があります(具体的には、黒白ではなく緑白)。
http://www.freedomscientific.com/products/lv/magic-bl-product-page.asp:それを実行できるプログラムを見つけたので、クロスグラフィックカードソリューションが可能であることを知ってい ます。
誰かがこれを達成する方法やどこを見ればよいか知っていますか?
ありがとう !!
wpf - WPFでモノクロビットマップをカラーでレンダリングするにはどうすればよいですか?
Win32 の時代にさかのぼると、モノクロのビットマップ (すべての意図と目的で単なるビットマップ マスク) があれば、そのビットマップを DeviceContext にレンダリングできました。何が起こるかは、透明としてレンダリングされた「0」があったすべてのピクセルと、現在選択されている前景色でレンダリングされた「1」があったすべてのピクセルです。これはとても便利でした。
しかし、数週間検索した後も、WPF で同様のものは見当たりませんでした。
今、私は自分の MonochromeBitmapImage クラスをロールしようとしていましたが、これを行う別の方法を誰かが知っているとしたら、それはあなた全員、SO ユーザーになるだろうと思ったので、質問があります... WPF でどのようにレンダリングできますか1 つの値が特定の色で、もう 1 つの値が透明なモノクロ ビットマップ
android - モノクロの白黒ビットマップ
私は、カメラからキャプチャされた色付きのビットマップを白黒のモノクロ画像 (グレーなし!) に変換するために Android に取り組んでいます。
グレースケール変換にはいくつかの方法がありますが、画像を白黒形式にすることができません。
ビットマップをこの形式に変換する方法はありますか?
pdf - JBIG2DECODEストリームとして白黒画像をiText経由でPDFに追加する方法
スキャンしたPDFを縮小する目的で、PDF内の画像をより小さなモノクロ(2色白黒)バージョンに置き換えるユーティリティに取り組んでいます。以下のプログラム(これがすべてです)は現在、すべての画像を大きな.pngファイルのin
ディレクトリにエクスポートします。ユーザーはこれらのファイルを取得し、必要な画像操作を行い、結果を同じ名前でコピーしますが、現在はディレクトリ.jb2
への拡張子。out
このプログラムを再度実行すると、変更したファイルがストリームにコピーされ、元の画像が置き換えられます。
言うまでもなく、それは機能しません。ストリームヘッダーはすべて正しいですが、ストリームがフォーマットに準拠するように適切に圧縮されているとは思わないJBIG2DEOCDE
ため、変更された画像はリーダーに表示されません。既存のストリームを置き換えるため、を使用できませんdocument.add(Image)
。そのため、このストリームの処理をすべて手動で行う必要があります。これを行うためのiText機能がない可能性がありますが、これらの画像をストリームに取り込むにはどうすればよいですか?
フォーマットの使用法は.jb2
iTextによって決定されましたが、私は。のようなより一般的なフォーマットを同じように簡単に使用できます.gif
。重要なのは、白黒の2色パレットをPDFに配置し、モノクロのテキスト画像に適した圧縮形式の画像を配置することです(JBIG2が望ましいですが、CCITT3または4またはRLEは私もです)。目標は最大のスペース節約です。処理時間の要件はありません。
あるいは、私がやろうとしていることを実行するための優れたユーティリティプログラムを誰かが知っているなら、それも同様です。PDFファイル内の既存のすべての画像を代替画像に置き換えたい(外部アプリケーションで処理できるようにする必要があります)。また、置き換えの圧縮方法を制御する必要があります。また、私は通常、数百ページと1ページに1つの画像を含むPDFを扱っているため、バッチモード処理に適した方法で実行する必要があります。PDFのサイズを縮小しようとしていますが、圧縮を完全に制御する必要があり、すべての不可逆圧縮を自分で実行したいと考えています。Acrobatのサイズ縮小PDF機能は、常に私の画像を壊してしまいます。
linux - Linux でモノクロ (1bpp) イメージを読み書きするためのライブラリ?
イメージ ファイルの読み取りと書き込みを含む、Linux で実行する C プログラムを作成しようとしています。ここで扱うイメージ ファイルはすべて、1 ビット/ピクセルの TIFF 形式のモノクロ イメージです。この種の画像のサポートが貧弱であることに、私は非常に驚いています。
Imlib を試してみましたが、モノクロ ファイルの読み取りをサポートしていると思われますが、実際の画像データにアクセスする方法は明らかにありません。最初にデータを RGB に変換します。これは、特に私が使用している解像度ではばかげています。
私は FreeImage を試してみました。これは、Windows のコーディング標準との不一致にもかかわらず、Imlib よりも API 設計においてはるかに正気であると思われました。残念ながら、実際にはモノクロ イメージでは機能しないようです。サンプルコードをほとんどコピーした場合でも、取得しているデータはすべてゼロです。
他の可能性はありますか?モノクロ TIFF を読み書きできるものが欲しいだけなので、奇妙なタグ付きフォーマットや圧縮などに対処する必要はありません。
android - Android: ビットマップをモノクロ ビットマップ (ピクセルあたり 1 ビット) に変換する
ビットマップをモバイル Bluetooth プリンター (Bixolon SPP-R200) に印刷したいのですが、SDK はメモリ内の画像を印刷するための直接的な方法を提供していません。そこで、ビットマップを次のように変換することを考えました。
モノクロ ビットマップに。キャンバスを使用して上記のビットマップに黒いテキストを描画していますが、これはうまく機能します。ただし、上記の Bitmap を ByteArray に変換すると、プリンターはそれらのバイトを処理できないようです。ピクセルあたり 1 ビットの配列が必要だと思います (ピクセルは白 = 1 または黒 = 0 になります)。
それを行うための便利な方法がないように思われるので、私が持っていた1つのアイデアは使用することでした:
ピクセルを取得します。次のように使用する必要があると思います。
ただし、いくつかの点についてはわかりません。
- getPixels では、単純に幅を「Stride」引数として渡すのは理にかなっていますか?
- 各ピクセルの色情報を評価し、それを黒または白に切り替える必要があると思います(そして、最終的にプリンターに渡す新しいターゲットバイト配列にこの値を書き込みます)?
- 黒か白かを判断するために、各ピクセルの色情報をどのように評価すればよいでしょうか? (レンダリングされたビットマップは、白い背景に黒い痛みです)
このアプローチはまったく理にかなっていますか? もっと簡単な方法はありますか?ビットマップを白黒にするだけでは不十分です。主な問題は、各ピクセルの色情報を 1 ビットに減らすことです。
アップデート
Reuben が提案したように、まずビットマップをモノクロ ビットマップに変換します。次に、各ピクセルを反復処理します。
Reuben は、「各 32 ビット ピクセルの最下位バイトを読み取る」ことを提案しました。これは、ピクセルの色を評価する方法に関する私の質問に関連しています。この点に関する私の最後の質問:これを行うだけで最下位バイトを取得できますか?