1

データベースにアップロードする前に画像のサイズを変更する方法を探していました。現在、ファイルはアップロードされているだけで、サイズが正しくない場合、私のページは混乱しているように見えます。データベースにアップロードする前に画像のサイズを変更するにはどうすればよいですか。元のサイズの画像と正しいサイズをアップロードしたいと思います。これはASP.netで可能ですか?画像のサイズ変更に関するチュートリアルを見たことがありますが、誰かがそれを手伝ってくれるなら、どれも役に立ちませんでした。このチュートリアルを見始めましたが、SQLアップロードに実装できませんでした。

ありがとう

4

1 に答える 1

2

このようなもので、私はMVCを使用しているのでHttpPostedFileBase。ただし、これはfile入力タイプの入力を受け取り、バイト配列を返すため、DBへのアップロードに最適です。

using System.Drawing;
using System.Drawing.Drawing2D;

private static byte[] PrepImageForUpload(HttpPostedFileBase FileData)
{
    using (Bitmap origImage = new Bitmap(FileData.InputStream))
    {
        int maxWidth = 165;

        int newWidth = origImage.Width;
        int newHeight = origImage.Height;          
        if (origImage.Width < newWidth) //Force to max width
        {
            newWidth = maxWidth;
            newHeight = origImage.Height * maxWidth / origImage.Width;   
        }

        using (Bitmap newImage = new Bitmap(newWidth, newHeight))
        {
            using (Graphics gr = Graphics.FromImage(newImage))
            {
                gr.SmoothingMode = SmoothingMode.AntiAlias;
                gr.InterpolationMode = InterpolationMode.HighQualityBicubic;
                gr.PixelOffsetMode = PixelOffsetMode.HighQuality;
                gr.DrawImage(origImage, new Rectangle(0, 0, newWidth, newHeight));

                MemoryStream ms = new MemoryStream();
                newImage.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
                return ms.ToArray();
            }
        }
    }
}
于 2011-03-14T15:57:30.650 に答える