画像ファイルのサイズを希望のサイズに変更するにはどうすればよいですか?800KBから100KBの画像のように?
私は3MBの画像を持っています:(2560 X 1600)300 dpi、ビット深度24元のファイルですが、新しいファイルは同じサイズを維持し、dpiSetResolutionは効果を生み出しません。
Bitmap image = Bitmap.FromFile("myPic.jpeg");
image.SetResolution(96, 96);
image.Save("newPic.jpeg");
次に、このコードを使用しました
// Reads Image
Bitmap image = Bitmap.FromFile("myPic.jpeg");
// Sets canvas with new dpi but same dimensions and color depth
Bitmap canvas = new Bitmap(image.Width, image.Height, PixelFormat.Format24bppRgb);
canvas.SetResolution(150, 150);
// Draw image on canvas through graphics
Graphics graphics = Graphics.FromImage(canvas);
graphics.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
graphics.DrawImage(image, new Rectangle(0, 0, image.Width, image.Height),
new Rectangle(0, 0, image.Width, image.Height), GraphicsUnit.Pixel);
// Saved Image
bitmap.Save("newPic.jpeg");
ここで、dpiは新しいファイル用に変更されましたが、ファイルサイズは7.84MBに跳ね上がります
どこに問題がありますか?dpiはファイルサイズに影響しますか?
ご検討をお願いいたします。祝福されたまま