0

私は Magick.net を使用して、ユーザーの写真にいくつかの変更を加えています。写真の特定の部分を切り取るために、compositoperator.Copyopacity を使用してコンポジットを使用しましたが、完全に機能しています。その後、バージョン 7 にアップグレードし、他の合成演算子を使用する必要があります。DstIn が copyOpacity のようなものであり、自分の仕事をしていることがわかりました。しかし、問題は、そのコマンドを適用すると、マスク画像にあるピクセル (一部の透明領域を持つ黒の補助画像、透明は切り取りたい領域) であり、100% 黒ではないピクセルがに転送されることです。最終的な写真なので、最終的な写真には灰色で幽霊のような線があります。マスク画像を編集して、100% 黒ではないすべてのピクセルを削除する必要があるのではないかと考えましたが、問題は、ユーザーがアップロードしたファイルに合わせてマスクのサイズを変更する必要があることです。

私の質問:

ユーザー画像の一部を切り取って、切り取った部分と残りが透明な結果として画像を作成するにはどうすればよいですか? 私が使用しているテクノロジーとフレームワーク: .Net Mvc c# と Magick.net バージョン 7

4

1 に答える 1

1

多くの研究の後、私は解決策を見つけました。Image Magick 7 では、copyopacity コンポジット オペレーターはありませんが、copyAlpha はあります。このアプローチでは、いくつかの白い形状を持つすべて黒の補助画像を作成できます (これらの白い形状は、ユーザー画像から切り取る部分です)。その後、CopyAplpha を使用して、この補助画像とユーザー画像を合成するだけです。複合演算子。

于 2016-08-04T10:36:34.667 に答える