2009-06-19 3 views
1

전 C#/GDI와 이미지 크기를 조정 + 다음 라우팅GDI + 이미지 크기 조정에서 색상 손실을 처리하는 방법?

 bmpOut = new Bitmap(lnNewWidth, lnNewHeight); 
     Graphics g = Graphics.FromImage(bmpOut); 
     g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBilinear; 
     g.FillRectangle(Brushes.White, 0, 0, lnNewWidth, lnNewHeight); 
     g.DrawImage(loBMP, 0, 0, lnNewWidth, lnNewHeight); 

를 사용하여 최고의 품질을 인코딩하고 있습니다.

System.Drawing.Imaging.Encoder qualityEncoder = System.Drawing.Imaging.Encoder.Quality; 
      EncoderParameter myEncoderParameter = new EncoderParameter(qualityEncoder, 100L); 

그러나 내가 얻은 이미지에는 심각한 색상 손실이 있습니다 (JPG 이미지 만 사용하고 있습니다). 품질은 완벽하지만 색상은 씻겨 버립니다. 무슨 일있어?

미리 감사드립니다.

+0

예를 들어 실제 저장 통화와 같이 좀 더 많은 코드를 게시 할 수 있습니까? 또한 예제 이미지를 어딘가에 게시 할 수 있습니까? – balpha

답변

0

How to disable subsampling with .NET/GDI+?

문제는 GDI +의 JPEG 인코더는 크로마 서브 샘플링 그래서 색 정보가 절반 해상도로 저장, 해제 할 수 없다는 것입니다 참조하십시오. 유일한 해결책은 위의 해답으로 제안 된 ImageMagick과 같은 다른 인코더를 사용하는 것입니다.

관련 문제