0

.NETで画像を切り抜いた後、元の画像の3倍のサイズの画像になる理由を理解しようとしています。以下にリストされているのは、画像をトリミングするために使用しているコードです

  Private Shared Function CropImage(ByVal img As Image, ByVal cropArea As Rectangle) As Image
      Dim bmpImage As Bitmap = New Bitmap(img)
      Dim bmpCrop As Bitmap = bmpImage.Clone(cropArea, img.PixelFormat)
      Return CType(bmpCrop, Image)
   End Function

ここで、imgは、ファイルから画像オブジェクトにロードされた元の画像です。

画像のトリミングを減らして損失を減らすにはどうすればよいですか?

4

1 に答える 1

1

この質問に対する2番目の答えを見てください。

高品質の画像スケーリングライブラリ

そのコードが役立つはずです。問題は、.NET画像処理ライブラリのデフォルトSystem.Drawing.Imaging.Encoder.Quality設定が100%であるということです。これは、文字通り90%のサイズの3倍であり、品質に目に見える違いはありません。その質問のコードを使用して、画像を低品質の設定で保存すると、ファイルのサイズに大きな違いが見られるはずです。

于 2010-03-31T03:00:10.553 に答える