MaxWidthとMaxHeightをサポートする以下のようなImageResizerを探しています...
どこで見つけることができますか?
以下のモジュールは、私にとって必要のない他の多くの仕事をします。
フォーマットを変更し、maxwidthとmaxheightをサポートしたいだけです。
1269 次
2 に答える
2
最大幅と最大高さを適用し、アスペクト比を維持するラッパーを作成できます。
たとえば、640 x 120の画像があり、最大値が1,920x1,440であるとします。ここで、その画像をできるだけ大きくしたいので、次のように記述します。
ResizeImage(image, 1920, 1440)
そうすると、アスペクト比が撮影されます。
既存の画像のアスペクト比を計算し、値を調整する必要があります。
// Compute existing aspect ratio
double aspectRatio = (double)image.Width / image.Height;
// Clip the desired values to the maximums
desiredHeight = Math.Min(desiredHeight, MaxHeight);
desiredWidth = Math.Min(desiredWidth, MaxWidth);
// This is the aspect ratio if you used the desired values.
double newAspect = (double)desiredWidth / desiredHeight;
if (newAspect > aspectRatio)
{
// The new aspect ratio would make the image too tall.
// Need to adjust the height.
desiredHeight = (int)(desiredWidth / aspectRatio);
}
else if (newAspect < aspectRatio)
{
// The new aspect ratio would make the image too wide.
// Need to adjust the width.
desiredWidth = (int)(desiredHeight * aspectRatio);
}
// You can now resize the image using desiredWidth and desiredHeight
于 2011-05-19T15:22:57.663 に答える
1
ライブラリが必要以上のことをするかどうかは関係ありません。それがあなたがそれを必要とすることをするならば、それを使ってください。余分なものはあなたをまったく損なうことはありません。
于 2011-05-19T15:21:26.807 に答える