問題タブ [writeablebitmapex]

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.

0 投票する
1 に答える
3915 参照

c# - WriteableBitmap ピクセルの操作

WriteableBitmaps として持っている 2 つの画像をマージしようとしています。各ピクセル値を二乗し、それを他の画像に追加してから、2番目のルートを取得します(値が255を超える場合は+チェック)。WriteableBitmapEx と ForEach() ( Sobel operator & Convolution with WriteableBitmapEx ) (これもかなり遅いようです) を使用してそうすることができなかったので、BitmapDecoder を使用してピクセルを直接操作してみました。残念ながら、エラーが発生するため、Pixelstream を WriteableBitmap に書き戻すことができないようです。

'Windows.Storage.Streams.IBuffer' には 'AsStream' の定義が含まれておらず、最適な拡張メソッド オーバーロード 'System.IO.WindowsRuntimeStreamExtensions.AsStream(Windows.Storage.Streams.IRandomAccessStream)' にはいくつかの無効な引数があります

インスタンス引数: 'Windows.Storage.Streams.IBuffer' から 'Windows.Storage.Streams.IRandomAccessStream' に変換できません

これらの行について

これは、WriteableBitmapEx ライブラリによって壊れている可能性がありますか?

さらに、WriteableBitmaps を BitmapDecoders に入れる方法を考えています。このコードは、Win8 コーディング ブックから取得しました。

これまでの私の完全なコードは次のとおりです。

0 投票する
1 に答える
130 参照

c# - DVDカバーのRectifiy画像

DVDの表紙画像を写真から長方形の画像として取得しようとしています。写真の表紙は通常少し歪んでいるので、プログラムで修正する必要があります。Laplacian of Gaussフィルターを使用して周囲のほとんどを既に削除しましたが、今度はカバーの境界を見つけて、フレーム全体をカバー画像で埋める必要があります。ハフ変換を使用することを考えましたが、これはエッジをリンクするためのかなりブルートフォースのようです。これをWindowsRTデバイス(Surface)で実行したいので、C#の低レベルのアイデアが最適です。何か案は?

修正するDVDカバー

0 投票する
1 に答える
335 参照

c# - コンソールアプリケーションでWriteableBitmapEx?

通常の C# コンソール アプリケーションで WriteableBitmap クラス / WriteableBitmapEx フレームワークを使用できるかどうか疑問に思っていました。ナゲット経由で追加しようとしましたが、System.Windows.Media.Imaging の using ステートメントも含めましたが、型が認識されません。

0 投票する
1 に答える
1776 参照

c# - コンソールアプリケーションのリソースからWriteableBitmapを作成します

WriteableBitmapExを使用して、ハードドライブ上のイメージからWriteableBitmapを作成しようとしています。nugetパッケージを追加した後、公式ページからコードをコピーしました。

しかし、私はエラーが発生します

'System.Windows.Media.Imaging.WriteableBitmap'には、2つの引数を取るコンストラクターが含まれていません

コンソールアプリケーションでWriteableBitmapExと言われたので、PresentationCore.dllを追加しましたか? また、System.Windows.Media.Imagingのusingステートメント。

0 投票する
1 に答える
462 参照

c# - 回転中の画像のクリッピングを防ぐWindowsPhone

WriteableBitmapEx拡張メソッドを使用してWriteableBitmapを回転しています。biコードにはWritableBitmapがあります。このRotateFreeメソッドは、ビットマップを任意の角度で回転し、新しい回転されたWritableBitmapを返します。私のコード:

私の問題は、ImageControlのサイズが固定されているため、回転したビットマップがクリップされることです。では、これを防ぐための最良の方法は何ですか?クリッピングを防ぐために、回転中にImageControlのサイズを変更する方法を探していると思います。助言がありますか?

元の画像

回転画像

アップデート

この有用な情報に基づいて既知のバウンディングボックスの座標から回転した長方形のサイズを計算するバウンディングボックスの幅(bx)と高さ(by)を計算し、回転中にそれに応じてサイズを変更できたと思います

回転中にImageControlの幅と高さが増減するように見えますが、画像はまだクリップされています。

更新2

@Reneの提案に基づいて、私はなんとかクリッピングを防ぐことができました。ImageControlの幅/高さの計算と組み合わせて、ストレッチプロパティをNONEに設定することにより、回転中に画像サイズが保持されます。

ここでの問題は、ImageControlが中央からサイズ変更され、動いているように見えないようにすることです。興味のある人がいれば、サンプルプロジェクトを含めることができます

更新3

最終的な解決策に興味があるかもしれない人のために。これが私のやり方です。その結果、画像はクリッピングなしで回転し、回転中もそのサイズが保持されます。また、回転は中心から始まっているように見えます。

サイズ変更時にImageControlの位置を調整して、回転が中心から発生しているように見えるようにするには、このコードを使用します。

0 投票する
1 に答える
239 参照

windows-runtime - パディングでクロップ

画像の境界を超える可能性のある座標を指定して画像をトリミングする必要があります。座標がずれている場合は、適切なパディングが適用されます。

通常は:

...これは、WriteableBitmapEx のCrop()拡張機能と完全に連携します。しかし、私の場合:

この場合、境界は上、左、および下を超えています。結果のビットマップは次のようにする必要があります。

これを達成するための最良の(そして最速の)方法は何ですか?

0 投票する
1 に答える
1136 参照

c# - WriteableBitmapEx のパフォーマンス

37000 程度のマーカーを含む全画面画像を生成しています。これを行うには、次のコードを使用します

これらの 37000 ポイントをブリットするには、EliteBook 8770w Windows7 で約 203 ミリ秒かかります。標準の WPF フレームワーク要素の使用から drawingVisuals へ、そして現在は書き込み可能なビットマップへと移行しました。この一連のマーカーをリアルタイムでズームする必要があるため、マーカーを再描画する必要があります。再描画が正常に行われるには、約 50ms が必要だと思います。

私が読んだことから、WriteableBitmapは私が行くことができる最低レベルです。パフォーマンス向上の次のステップは何ですか。これは GPU に委任する必要があるようです。C# でこれを行うにはどうすればよいですか、またはどのライブラリを使用すればよいですか?

0 投票する
1 に答える
816 参照

c# - ブリットの品質をアップグレードする (Winrt c#)

私は実際に、キャンバスに複数のものを載せた、唯一無二のイメージを作ろうとしています。

必要なものがすべて揃った画像を作成しますが、画像の品質が非常に悪いです。どうすればアップグレードできるか知っていますか?

画像を保存すると、これが私のコードの終わりです:

誰かアイデアがあれば?お時間をいただきありがとうございます。