画像ファイル (JPEG) を開き、テキストを追加して別のファイルに保存するコードを作成しました。
次のようになります。
Image sourceImage = Image.FromFile(fileName);
Graphics grp = Graphics.FromImage(sourceImage);
grp.DrawString(...);
Bitmap bmp = new Bitmap(sourceImage);
bmp.Save(newFileName, ImageFormat.Jpeg);
これは問題なく機能し、ファイルはテキストが追加された状態で正常に保存されます。
ただし、元のファイルは約 1.5MB で、新しいファイルは約 480KB しかありません。各ファイルの詳細を見ると、寸法が似ていることがわかりますが、元のファイルの解像度は 180 dpi で、新しいファイルの解像度は 96 です。元の画像には、色表現 (sRGB) と圧縮ビット/ピクセル (4 )、新しい画像にはこれらの詳細が保持されていません。
これらがファイルサイズの違いの原因になるのでしょうか?
よりコンパクトなファイルではなく、正確なサイズで新しいファイルを保存する方法を考えられる人はいますか?
どうもありがとう、
エラド