拡大・縮小・トリミング・回転の処理ができる自作ライブラリです。

自作メソッドについて

Image GetExtendBitmap(Image image, double extend)
画像を拡大・縮小する

Image GetTrimingBitmap(Image image, Rectangle rect)
画像をトリミングする

Image GetCutOffImage(Image image, int top, int right, int bottom, int left)
画像の上下左右を切り捨てる

Image GetRotateImage(Image image, int Rotate)
画像を回転させる(第二引数は度数法)

Image GetRotateImageInSize(Image image, int rotate, int width, int height)
回転させた画像で指定した幅・高さに収まる大きさの画像を取得する

Image GetInscribedRotateImage(Image image, int rotate, int width, int height)
回転させた画像で指定した幅・高さの矩形に内接する画像を取得する

簡単な説明

画像の回転はアフィン変換を用いています。左上、右上、左下の座標に対して回転の変換をしたあと、領域内におさまるように平行移動させています。

GetRotateImage(Image image, int Rotate)メソッドは画像を回転させることで画像のサイズが変更されます。GetRotateImageInSize(Image image, int rotate, int width, int height)メソッドは縦横の比は維持された状態で中央に表示されます。そのため指定されたサイズいっぱいには表示されません。

GetInscribedRotateImage(Image image, int rotate, int width, int height)メソッドは指定されたサイズの矩形に内接する画像なのでサイズいっぱいに表示されますが、画像の縦横の比は維持されず、画像の形状も平行四辺形になります。

作成したコード