2012-07-19 17 views
5

私はプログラムでC#で画像を歪めるようにしたいと思います。具体的には、画像を空間的に再重み付けして、中心ピクセルが拡張され、周辺ピクセルがそれに比例してより少ないスペースを占めるようにしたいと思います。魚眼レンズを考えてみてください。キンダー。イメージの歪みや歪みのための.NETツールはありますか?

これを実行できる.NETツールはありますか? .NETコアに組み込まれているのか、アドオンに組み込まれているのかは気にしません。

答えて

1

免責事項:私はAtalasoft

のために働く私たちの自由なイメージングSDK DotImage写真無料、これを行うことができます。

http://www.atalasoft.com/free-dotnet-image-sdk

Atalasoft.Imaging.ImageProcessing.Transforms.LensTransformを見てください。

AtalaImage img = new AtalaImage("file.jpg"); 
LensTransform cmd = new LensTransform(); 
cmd.Radius = 100; 
cmd.Offset = new Point(100, 100); // set the center 
AtalaImage img2 = cmd.Apply(img).Image; 
1

ええと... ImageMagickのAPIを使用して、必要な操作を実行できます。

http://www.imagemagick.org/script/api.php

彼らは利用可能な2つの.NETソリューションを持っています。あなたは調査し、あなたのニーズに最も適したものを見つけることができるはずです。その特徴の1つに、一般化されたピクセルの歪みがあります。これを使用すると、ニーズに合わせて使用​​することができます。

1

このような効果は、WPFシェーダエフェクトで非常に簡単に実現できます。

これについて聞いたことがない場合は、Direct3Dピクセルシェーダエフェクトをどのイメージよりも実行できるという考えがあります。これにより、リアルタイムのフレームレートで記述するようなエフェクトを非常に簡単に行うことができます。

これは、画像バッファ内のカラーサンプルのアドレス指定、範囲チェック、またはすべてのデータを正しくループすることを心配する必要がないため、C#またはCでそれらを書き込むよりも簡単です。これはビデオカードハードウェアによって処理されます。

Here's a linkチャンネル9ビデオは、wpffxサンプルライブラリのサンプルエフェクトを示しています。

「スムーズな拡大」は、あなたが望むものに非常に近いと思います。

関連する問題