> 백엔드 개발 > C++ > C#에서 고품질 이미지 크기 조정을 달성하는 방법?

C#에서 고품질 이미지 크기 조정을 달성하는 방법?

Susan Sarandon
풀어 주다: 2025-01-31 01:11:08
원래의
393명이 탐색했습니다.

How to Achieve High-Quality Image Resizing in C#?
c# C# 응용 프로그램 내에서 이미지를 효율적으로 크기 롭게하려면 이미지 속성을 신중하게 조작해야합니다. ,

및 를 통해 치수에 액세스하는 것이 가능하지만, 품질 크기 조정을위한 가장 효과적인 접근법은 아닙니다. . 우수한 크기 조정 기술

고 충실도 이미지 스케일링의 경우 다음 C# 함수는 강력한 솔루션을 제공합니다. Size Width 품질 크기 조정을위한 중요한 요소 Height

:

이미지를 미러링하여 가장자리 아티팩트 ( "고스트")를 제거합니다

:
<code class="language-csharp">public static Bitmap ResizeImage(Image image, int width, int height)
{
    var destRect = new Rectangle(0, 0, width, height);
    var destImage = new Bitmap(width, height);

    destImage.SetResolution(image.HorizontalResolution, image.VerticalResolution);

    using (var graphics = Graphics.FromImage(destImage))
    {
        graphics.CompositingMode = CompositingMode.SourceCopy;
        graphics.CompositingQuality = CompositingQuality.HighQuality;
        graphics.InterpolationMode = InterpolationMode.HighQualityBicubic;
        graphics.SmoothingMode = SmoothingMode.HighQuality;
        graphics.PixelOffsetMode = PixelOffsetMode.HighQuality;

        using (var wrapMode = new ImageAttributes())
        {
            wrapMode.SetWrapMode(WrapMode.TileFlipXY);
            graphics.DrawImage(image, destRect, 0, 0, image.Width, image.Height, GraphicsUnit.Pixel, wrapMode);
        }
    }

    return destImage;
}</code>
로그인 후 복사
원래 DPI를 유지하여 크기 변화에 관계없이 일관된 이미지 선명도를 보장합니다. 설정 구성 설정 :

우수한 결과를위한 픽셀 블렌딩 및 렌더링을 정확하게 제어합니다. :

는 더 부드러운 스케일링 전환을위한 고품질 알고리즘을 사용합니다 스무딩 및 픽셀 오프셋 :
    jagged 모서리를 최소화하고 라인 선명도를 향상시킵니다.
  • 결론 WrapMode.TileFlipXY 이 정제 된 접근 방식은 C#의 고품질 이미지 크기 조정을 보장합니다. 종횡비 보존은 필요한 경우 별도의 기능으로 추가 할 수 있습니다.

위 내용은 C#에서 고품질 이미지 크기 조정을 달성하는 방법?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿