たるきちのあれこれ









  Topプログラミングサンプル ▶ JPEG圧縮

JPEG圧縮のサンプルです。

C#

// using System.Drawing.Imaging;
// using System.IO;

private static ImageCodecInfo GetEncoderInfo(string MimeType)
{
    ImageCodecInfo[] encs = ImageCodecInfo.GetImageEncoders();
    foreach (ImageCodecInfo enc in encs)
    {
        if (enc.MimeType == MimeType) return enc;
    }
    return null;
}

{
    using (FileStream fs = new FileStream(@"C:\sample1.jpg", FileMode.Open, FileAccess.Read))
    using (Bitmap bmp = new Bitmap(Image.FromStream(fs)))
    using (EncoderParameters eps = new EncoderParameters(1))
    {
        // 圧縮率を70%に設定
        eps.Param[0] = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, (long)70);
        ImageCodecInfo ici = GetEncoderInfo("image/jpeg");
        bmp.Save(@"C:\sample2.jpg", ici, eps);
    }
}