問題タブ [wic]
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.
render - IWicBitmap の wic ビットマップ レンダー ターゲットを作成する
を使用して、メモリに存在するデータを使用して IWicBitmap を作成しました
今、ビットマップに描画したかったので、bitmaprendertarget を作成しています
しかし、それはターゲットを形成しません - エラーを返します:
私はそれを解決する方法を理解していません。プロパティも設定しました
c++ - Windows Imaging Component を使用して EMF を BMP (メタファイルからビットマップ) に変換する
レガシ VC++ 6.0 コードのビットマップに変換したい .emf ファイルがあります。
私は WIC のドキュメントを調べてきましたが、これを行う方法が見当たらないことに驚いています。
何か不足していますか?
WIC がこれをサポートしない場合、.emf ファイルを CBitmap オブジェクトにプログラムで読み込む方法はありますか?
windows - ID2D1Bitmap と IWicBitmap の違い
ID2D1Bitmap と IWicBitmap の違いは何ですか? 生のメモリ データがあり、ビットマップを作成したかったのです。
windows - WIC ビットマップ処理に最も効果的なピクセル形式は何ですか?
Direct2D と WIC Bitmap を使用して、単純なビデオ プレーヤーのようなプログラムを作成しようとしています。
YUV ピクセル形式のフレーム データの高速で CPU 経済的な描画 (ストレッチあり) が必要です。
私はすでにGDIでテストしました。Direct2D に切り替えることで、少なくとも 10 倍のパフォーマンス向上 (CPU オーバーヘッドの減少) が得られることを願っています。
私がやることは基本的に以下のようなものです:
- 空の WIC ビットマップ A を作成します (キャンバスを描画するため)。
- YUVフレームデータで別のWICビットマップBを作成(フォーマット変換)
- ビットマップ B を A に描画し、次に A を D2D レンダー ターゲットに描画します
1、2 ステップの場合、ピクセル形式を選択する必要があります。
WIC ネイティブ ピクセル形式
MSDN の推奨ページがありますWICPixelFormat32bppPBGRA。
http://msdn.microsoft.com/en-us/library/windows/desktop/hh780393(v=vs.85).aspx
WICPixelFormat32bppPBGRAとの違いは何WICPixelFormat32bppBGRAですか? (前者は追加Pあり)
行くべき道ならWICPixelFormat32bppPBGRA、それは常にそうですか?ハードウェアや構成に関係なく?
実際にWICビットマップ処理に最も効果的なピクセル形式は何ですか?
windows - WIC 'Copy Pixels' 呼び出し後にピクセルを事前に乗算する
PARGB32 ビットマップの作成を検討しています。これは、XP 以降のメニュー項目で完全に機能するイメージを生成するために必要なようです。
この例 http://msdn.microsoft.com/en-us/library/bb757020.aspx?s=6 は非常に興味深いものですが、これまで OLE インターフェイスを使用したことがほとんどないため、かなり複雑です。しかし、WIC と OLE を使用するコードを注意深く調べたところ、その仕組みが理解できたと思います。私を混乱させているのは、ユーザー「David Hellerman」によるコメントです。要約すると、彼はこのサンプル関数は完全ではないと述べています。ソース アイコンの潜在的なアルファ情報は考慮されません。アルファ データが存在する場合は、ppvBuffer 変数をスキャンしながら、ピクセルごとに事前に乗算する必要があります。
私の質問には 2 つの部分があります。GDI の代わりに WIC を使用しているときにアイコン内のアルファ データの存在を検出するにはどうすればよいですか? また、アルファ データが存在する場合は、それをピクセルに事前に乗算するにはどうすればよいですか?
windows - IWICBitmapScaler は 96bppRGBFloat 形式では機能しませんか?
WIC ライブラリを使用しているときに問題が発生しました。そして、IWICBitmapScaler を使用して R32G32B32 画像をスケーリングできないことがわかりました... コード例を以下に示します。
そして、dstImg バッファーに -1.#QNAN000 を取得するだけです :( 何か間違ったことをしたのか、それとも IWICBitmapScaler がそのような形式をサポートしていないのかわかりませんか?
もう 1 つの問題は、IWICFormatConverter を使用して R32G32B32A32 (つまり 128bppRGBFloat) 画像を R32Gray (つまり 32bppGrayFloat) 形式に変換すると、値が常に [0, 1] にクランプされることです。これは望ましい動作ですか? (どうして???)
(私のプラットフォーム: Win 8.1 64bit + VS2013)
c++ - IWICBitmapLock::GetStride メソッドは常に同じ値を返す
実行時に数回実行される次のコードがあります。
uiWidthuiHeight常に異なります。初期値は 3264 と 2448 です。2 回目は、たとえば 778 と 246 になる可能性があります。ただし、メソッドはpLock->GetStride(&cbStride)常に同じストライド値を返します (私の場合は 13056)。CreateBitmapFromMemory()メソッドが破損したビットマップを作成する原因となります。ビットマップの寸法に応じて、他の変数が正しく変化しています。pLockどこかにストライド値がキャッシュさ れているようです。
MSDN の記述では、ストライド値はビットマップではなく、IWICBitmapLock に固有のものです。ただし、毎回 pLock をリリースしました。では、そのような行動の原因は何でしょうか?
同じことを行うために使用できる 2 番目の方法は次のようなものですが、上記のコードの何が問題なのかを理解したいと思います。