2

問題が発生しました。WriteableBitmapオブジェクトにRender()メソッドを使用したいと思います。ただし、気付いたように、このメソッドは、SilverlightアセンブリSystem.Windows.dllを使用しないと使用できません。プロジェクトでRenderTargetBitmapを使用する必要があります(標準の.netのPresentationCoreアセンブリ)。ここに問題があります-両方のアセンブリにいくつかのクラスの定義があるため、それらは競合しています。

基本的に、Bgra32ビットマップにいくつかのものを追加する必要があります。ただし、RenderTargetBitmapはPbgra32のものでのみ機能します。WriteableBitmapを使用してレンダリングするとよいことがわかりました。多分私は間違っていますか?

あなたはなにか考えはありますか?

返信ありがとうございます!

乾杯

4

2 に答える 2

1

これは少し前に尋ねられたことは知っていますが、関連する問題を検索したときに出てきたので、偶然見つけた他の人のために簡単な回答を残しておくと思いました.

Silverlight アセンブリと WPF アセンブリの両方を含めることはお勧めできません。Silverlight から必要なものはほとんどすべて何らかの形で WPF に含まれているため、Silverlight プロジェクトを実行している場合 (および WPF アセンブリを使用していない場合) を除き、それらを含めないでください。

あなたの問題については、Pbgra と Bgra の間の変換は特に難しくなく、ここで説明されています。

http://www.i-programmer.info/programming/wpf-workings/538-rendertargetbitmap-visual-vector-to-bitmap.html .

さらに、RenderTargetBitmap は Render メソッドと同じようなことを行うので、単独で使用する方がよいでしょう。

于 2010-11-30T08:51:29.580 に答える
0

入力をあらかじめ乗算されたアルファに変換し、その色空間ですべての計算を行い、出力を元に戻します。アルファによる乗算は、コーディングが難しくありません。

あらかじめ乗算されたアルファ色空間ですべての計算を行うと、多くの場合、より高品質の出力が得られ (たとえば、フィルタリングがはるかにうまく機能します)、他にもいくつかの利点があります。

PRGBA を使用することの多数の利点に関するブログエントリ

于 2010-11-30T09:07:13.053 に答える