1

.NET で画像をプログラムで色付けする簡単な方法はありますか? 基本的に、白黒の画像があり、その上にピンクのレイヤーを配置し、そのレイヤーの不透明度を下げて画像をピンク色にする必要があります。

4

5 に答える 5

2

すばらしいImageMagickライブラリを使用する必要があります。.NET バインディングがあるので問題ありません。

楽しむ!:)

于 2008-09-29T09:30:25.233 に答える
1

これらのリンクをチェックしてください:

http://www.codeproject.com/KB/GDI-plus/csharpgraphicfilters11.aspx

http://www.codeproject.com/KB/GDI-plus/KVImageProcess.aspx

于 2008-09-29T09:33:19.437 に答える
0

半透明のレイヤーを上に置くだけでなく、画像に色を付けたい場合は、もう少し複雑になると思います。PhotoShopの「画面」レイヤーモードと同じ効果が必要な場合は、画像のすべての黒の色合いを新しい色の色合いに置き換えて、白い部分を白に保つ必要があります。

.NETで最も確実に実行できますが、ある種のライブラリを調べても問題はないと思います。

于 2008-09-29T10:52:04.223 に答える
0

頭に浮かぶ方法は、 Drawing パッケージを使用して、画像の上に特定の色 (アルファを設定できます) で四角形を描画することです。あまり効率的ではありませんが、キャッシュを使用すると、ビジー状態のサーバーでも害はありません。

于 2008-09-29T09:30:47.960 に答える
0

これは、.net フレームワーク メソッドには少しカスタムすぎます..単一のメソッド呼び出しソリューションが見つからない場合..私は何かを見て何かを投稿します。

WPF がある場合は、コントロールに画像を読み込むことができます。その上に別のコントロール (ピンクの塗りつぶしと透明度を持つ四角形) を配置します。(両方が完全に重なるように、レイアウトにグリッドのようなものを使用します)次に、次のことができます

RenderTargetBitmap bmp = new RenderTargetBitmap( imageWidth,imageHeight, 
  DPIHoriz, DPIVert, 
  PixelFormats.Pbrga32);
 // if you don't want to make the controls 'visible' on screen, you need to trigger size calculations explicitly. 
grid.Measure(new Size(imageWidth, imageHeight));
grid.Arrange(new Rect(0,0, imageWidth, imageHeight);
bmp.Render(grid);

したがって、画面に表示されているものはすべて、メモリ内のビットマップに書き込まれます。その後、それを保存できます。それがうまくいかない場合は、WriteableBitmap クラスを使用してピクセル レベルの制御を行い、バイト労働を行うことができます。

于 2008-09-29T09:45:07.723 に答える