問題タブ [bitmap]
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.
c# - GDI+: 視覚的な選択インジケーターのための DrawReversible の代替品?
関連する XOR メソッドを使用せずに、ビジュアル オブジェクト(選択したエッジ、線など)の選択インジケーターを描画する別の方法を探しました。その理由は、不要な XOR 処理の「アーティファクト」、可逆性がビットマップに適用されないこと、実際の視覚的な外観を制御できないこと、および速度が遅いことです。ControlPaint.DrawReversibleFrame
一方で、再描画にはかなりのコストがかかる可能性があるため、ユーザーが 1 つまたは 2 つのオブジェクトの選択を解除したいと判断した場合、シーン全体 (実際にはマップ) を再描画する必要は避けたいと考えています。
したがって、私が見ることができる唯一の代替手段は、いくつかの基本的な描画ロジックを に直接実装することですが、変更前のピクセルの以前の内容Bitmap
を保存します。次に、(理論的には)ユーザーがそのエッジの選択を解除することを選択した場合、選択したエッジの長方形の古い内容を再適用できます。
私の質問は、これが良い考えだと思うか、それとも私の問題 (GDI+ 内) に対する他の代替案があるかどうかです。
前もって感謝します
java - テキストが表示されないのはなぜですか?
一生わからない何らかの理由で、私の JOGL hello world プログラムのテキストがまったく表示されません。表示方法を含めて、私が話していることをすべて理解できるようにします。
java - MyLocationOverlay の「ここにいる」ポイントにカスタム ビットマップを使用するにはどうすればよいですか?
私はドキュメントに注がれましたが、これを理解することができませんでした。それは可能ですか?
c# - Bitmap クラスをどのように拡張できますか
独自の効果を画像に適用できるように、Bitmap クラスを拡張しようとしています。このコードを使用すると:
次のエラーが表示されます。
これを回避する方法はありますか、それとも単にクラスを拡張することはできませんか?
ありがとう。
winapi - MaskBlt に使用するラスター オペレーター
GDI MaskBlt コマンドを使用して透明度のある画像を描画しようとしています: http://msdn.microsoft.com/en-us/library/dd145047(VS.85).aspx
明らかなユースケースに使用するラスター演算子に関するドキュメントには何も見つからないようです:一種のMAKEROP4(SRCCOPY, DSTCOPY)
-マスクが1の場所でブリッティングし、マスクが0の場所で宛先をそのままにします.SRCCOPYは有効なROPです、しかし、架空の の代わりに何を使用すればよいDSTCOPY
ですか?
actionscript-3 - Flexで、ビットマップを作成、入力、および表示するにはどうすればよいですか?
完全に空のMXMLアプリケーションから開始します。
次のようなスクリプトは何ですか。
- ビットマップを作成します(これは
BitmapData
オブジェクトである必要がありますか?) - プログラムでデータを入力します(たとえば、円を描きます)(繰り返し呼び出すよりも効率的な方法はあります
BitmapData.SetPixel
か?) - アプリケーション内でレンダリングします(たとえば、中央に配置します)(ビットマップを画面に表示するにはどうすればよいですか?オンラインFlashサンプルでは、呼び出し
myBitmap=new Bitmap(myBitmapData)
とその後myBitmap.AddChild
の呼び出しが表示されますが、これによりFlexでエラーが発生します)。
??
注:目標は、画面上に円を表示することだけではなく、SetPixel(または???)を使用してビットマップ(またはBitmapData?または???)オブジェクトにデータを入力し、そのコンテンツを画面に表示することです。画像処理または視覚効果アプリケーションで行う必要があります。
c# - ビットマップからビデオストリーミングへ
画面のスクリーンショットを継続的に取得するC#アプリケーションを構築しています。スクリーンショットを撮っている間、vlcを使用してそれらをストリーミングしたいと思います。ストリーミングのためにビットマップをvlcに送信する方法についてのアイデアはありますか?
事前にtksホセ
c# - 画像が16bppGrayscaleのときにビットマップからカラー画像を取得する
問題No1。 私自身の関連する問題
ここで次の質問をしました
さて、問題2です。
生のピクセル データから 16 ビット (モノクロ) 画像を開こうとすると、エラーが発生します。私は Bitmap のような作成で PixelFormat.Format16bppGrayscale を使用しているため
グーグルで調べたところ、Format16bppGrayscale がサポートされていないことがわかったので、以下のようにコードを修正しました。
驚くべきことは、pixelFormat を変更したため、現在画像を取得していることです。しかし、問題は、私のモノクロ (グレースケール) 画像がさまざまな色に見えることです。
元の外観を取得するにはどうすればよいですか。グレースケールの方法をいくつか試しましたが、うまくいきませんでした。アンセーフなコードを教えてください。ありがとう、
wpf - BitmapSource を使用した WPF レンダリング パフォーマンス
パン可能なタイル グラフィックを表示する WPF コントロール (FrameworkElement から継承) を作成しました。各タイルは 24bpp で 256x256 ピクセルです。OnRender をオーバーライドしました。そこで、新しいタイルを (BitmapFrame として) ロードし、drawingContext.DrawImage を使用してすべての可視タイルを描画します。
これで、レンダリング サイクルごとに数個以上の新しいタイルがある場合は常に、フレームレートが 60 fps からゼロに約 1 秒間低下します。これは、イメージの読み込み (ミリ秒単位で実行) や DrawImage (中間のレンダリング データ構造を埋めるだけなので、まったく時間がかからない) が原因ではありません。
私の推測では、レンダー スレッド自体が多数 (~20) の新しい BitmapSource インスタンス (つまり、まだキャッシュされていないインスタンス) を取得するたびにチョークします。それらを内部の DirectX 互換フォーマットに変換するのに多くの時間を費やしているか、キャッシュの問題である可能性があります。ビデオ RAM が不足することはありません。Perforator は 60MB 未満でピークを示し、私は 256MB を持っています。また、Perforator によると、すべてのレンダー ターゲットはハードウェア アクセラレーション対応であり、それもあり得ません。
どんな洞察もいただければ幸いです!
前もって感謝します
ダニエル
@RandomEngy:
BitmapScalingMode.LowQuality は問題を少し軽減しましたが、解決しませんでした。意図した解像度で既にタイルを読み込んでいます。また、最新のグラフィックス ドライバー (Nvidia) である必要はありません。
スケーリングにそれほど時間がかかることを知って、少し驚いています。私が理解した方法では、ビットマップ (サイズに関係なく) は Direct3D テクスチャとして読み込まれ、ハードウェア スケーリングされます。実際のところ、ビットマップが初めてレンダリングされると、それ以上フリーズすることなく回転とスケールを変更できます。