1

画像ファイル (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 )、新しい画像にはこれらの詳細が保持されていません。

これらがファイルサイズの違いの原因になるのでしょうか?

よりコンパクトなファイルではなく、正確なサイズで新しいファイルを保存する方法を考えられる人はいますか?

どうもありがとう、

エラド

4

1 に答える 1

0

画像保存時のJPEG圧縮レベルを設定できます。C# で保存された JPG の品質を参照してください。

ただし、保存したJPEGがどの画質設定で保存されているかを知ることは不可能のようですので、入力したJPEGと同じ圧縮レベルで自作のJPEGを保存することはできないと思います。

于 2013-06-06T00:43:40.493 に答える