0

画像のサイズを変更して、画像に透かしを追加しています。そして、画像を返します。これが私のコードです。

Image resizedImage = ResizeImage(original6, new Size(500, 375));

サイズ変更機能:

public static System.Drawing.Image ResizeImage(System.Drawing.Image image, Size size)
{
    int newWidth;
    int newHeight;
    if (true)
    {
        int originalWidth = image.Width;
        int originalHeight = image.Height;
        float percentWidth = (float)size.Width / (float)originalWidth;
        float percentHeight = (float)size.Height / (float)originalHeight;
        float percent = percentHeight < percentWidth ? percentHeight : percentWidth;
        newWidth = (int)(originalWidth * percent);
        newHeight = (int)(originalHeight * percent);
    }
    else
    {
        newWidth = size.Width;
        newHeight = size.Height;
    }
    System.Drawing.Image newImage = new Bitmap(newWidth, newHeight);
    using (Graphics graphicsHandle = Graphics.FromImage(newImage))
    {
        graphicsHandle.InterpolationMode = InterpolationMode.HighQualityBicubic;
        graphicsHandle.DrawImage(image, 0, 0, newWidth, newHeight);
    }


    System.Drawing.Bitmap bitmapimage = new System.Drawing.Bitmap(newImage, size.Width, size.Height);// create bitmap with same size of Actual image
    System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(bitmapimage);

    SolidBrush brush = new SolidBrush(Color.FromArgb(113, 255, 255, 255));
    //Adding watermark text on image
    g.DrawString("My watermark", new Font("Arial", 16, FontStyle.Bold), brush, 5, 100);

    return bitmapimage;
}

透かし付きの新しいサイズ変更された画像を取得し、新しい画像ファイルとして保存します。

resized6.Save(Server.MapPath(sSavePath + ownerRef + "Pic6v2" + ".jpg"));

これはうまくいっています。ただし、ファイルサイズを制御することはできません。元の JPG が 45kb しかないのに、サイズ変更された新しい画像が 500kb の場合。ファイルサイズを小さくするにはどうすればよいですか? 情報: 元の解像度 (400x300 px) と新しい画像 (500x375px)

4

2 に答える 2

1

頭の中でこれを覚えているわけではありませんが、ファイル サイズは通常、JPEG の品質設定と関係があります。また、ビットマップではなく、実際のjpgとして保存されていることを確認する必要があります..

参照: C# 単純な画像のサイズ変更: ファイル サイズが縮小しない

JPEG 品質設定: http://msdn.microsoft.com/en-us/library/bb882583.aspx

于 2012-12-09T05:23:50.347 に答える
0

JPEG の品質を変更して、ファイル サイズを小さくできる場合があります。見る

http://msdn.microsoft.com/en-us/library/bb882583.aspx

また

C# で保存された JPG の品質

于 2012-12-09T05:22:41.990 に答える