Skip to content

ikst/Ikst.ImageResizeWithSkia

Repository files navigation

画像の縦横比を崩さずにリサイズ出来るライブラリです。
画像変換処理にはSkiaSharpを利用します。

usage

ImageResizeクラスの静的メソッドResizeを呼び出します。

byte[] bytes = ImageResize.Resize("ImageFilePath", 200, 100, ResizeMode.Default);
byte[] bytes = ImageResize.Resize("ImageFilePath", 200, 100, ResizeMode.Uniform);
byte[] bytes = ImageResize.Resize("ImageFilePath", 200, 100, ResizeMode.UniformToFill);

パラメータにリサイズ時の画像伸縮方法をResizeModeで指定します。

Original

この250(w)x250(h) の画像を 200(w)x100(h) にリサイズした画像をSampleに示します。

ResizeMode Description Sample
Default 何もしません。指定されたサイズ通りに画像の伸縮が発生します。 Default
Uniform 縦横比を維持したままリサイズします。
元画像と縦横比が異なる場合は余白が出来ます。
Uniform
UniformToFill 縦横比を維持したままリサイズします。
元画像と縦横比が異なる場合は一部が欠落します。
UniformToFill

※WPF/XAMLのStretch列挙型をイメージするとわかりやすいかも知れません。

その他Resizeメソッドのパラメータは以下のとおりです。

args type required description
source string
byte[]
stream
SKCodec
true 変換元画像を指定します。
width int true 横幅。
0を指定した場合、heightを基準に縦横比が変わらないようにします。
height int true 縦幅。
0を指定した場合、widthを基準に縦横比が変わらないようにします。
mode ResizeMode true リサイズモード。
backColor SKColor false 背景色。Uniformで余白ができる場合に適用されます。
imgFmt SKEncodedImageFormat false 出力する画像フォーマット。
SkiaSharpの都合上、jpeg, png, webpのみ指定できます。
quality int false 画像出力時の品質。0~100で指定します。
デフォルトは90です。
fq SKFilterQuality false SkiaSharpのリサイズメソッドの処理品質。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages