2017-10-29 8 views
-1

ビットマップクラスで行列変換を使用します。C#行列変換(剪断法)を使用したビットマップクラス

Matrix matrix = new Matrix(); 
matrix.Shear(0.1f, 30); 

しかし、唯一、私はこれを行うことができましたが

FileStream ifs = new FileStream(@"C:\Users\PC\Desktop\asd.png", FileMode.Open); 
    Image image = Image.FromStream(ifs); 
    Graphics g = Graphics.FromImage(image); 
    g.Transform = matrix; 

Graphicsクラスを使用することです。しかし、どのように私は、グラフィックスがビットマップでオブジェクトを使用することができます。 私はこれを行うことができますBitmap bitmap = new Bitmap(750,500,g); しかし、グラフィックスオブジェクトは実際にはピクセルを保持していないようですが、次元だけです。どのようにビットマップ(私の画像)でマトリックスのせん断法を使用することができますか?

+1

[お問い合わせ]を読んで[ツアー]に参加し、Googleを十分に活用してください。 [C#方法:画像変換のせん断](https://softwarebydefault.com/2013/06/16/image-transform-shear/) – Plutonix

+0

@Plutonix私はその1つを読んだが、その背後にある数学は非常に困難だった... – peter

+0

@Plutonix私の質問は基本的にどのようにビットマップクラスで行列クラスを使用するのですか? – peter

答えて

0

新しいGraphicsオブジェクトを使用して何かを描くときに、あなたが望むもの(せん断変形)が得られます。

新しいビットマップを作成して、それにDrawImageを使用して既存のビットマップを描画すると、あなたは帰ってきます。

新しいビットマップの予想サイズを自分で計算する必要があることに注意してください。

関連する問題