최대 높이 및 너비 제약 조건을 사용하여 이미지 크기를 비례적으로 조정하는 방법
많은 시나리오에서 초기 이미지를 유지하면서 이미지 크기를 조정해야 합니다. 종횡비. 이는 크기 조정된 이미지의 최대 높이와 너비에 대한 제약 조건을 처리할 때 특히 중요합니다. C#의 System. Drawing.Image는 이 작업을 수행하는 데 편리한 솔루션을 제공합니다.
문제 설명:
특정 너비와 높이의 이미지가 주어지면 크기를 조정해야 합니다. 종횡비를 유지하면서 최대 높이 및 너비 제약 조건을 충족하도록 비례적으로 조정합니다. 크기 조정 프로세스는 가능한 최대 크기를 유지하면서 너비와 높이가 모두 제한 내에 있을 때까지 크기를 반복적으로 조정해야 합니다.
해결책:
아래 코드는 방법을 보여줍니다. 지정된 제약 조건 내에서 비례적으로 이미지 크기를 조정합니다.
public static Image ScaleImage(Image image, int maxWidth, int maxHeight) { var ratioX = (double)maxWidth / image.Width; var ratioY = (double)maxHeight / image.Height; var ratio = Math.Min(ratioX, ratioY); var newWidth = (int)(image.Width * ratio); var newHeight = (int)(image.Height * ratio); var newImage = new Bitmap(newWidth, newHeight); using (var graphics = Graphics.FromImage(newImage)) graphics.DrawImage(image, 0, 0, newWidth, newHeight); return newImage; }
이 코드에서 ScaleImage 메서드는 이미지를 가져옵니다. 최대 너비 및 최대 높이를 입력으로 사용합니다. 원래 가로 세로 비율을 유지하면서 너비나 높이가 지정된 최대값을 초과하지 않도록 보장하는 최소 배율 인수를 계산합니다. 그런 다음 크기가 조정된 새 이미지가 생성되고 Graphics.DrawImage를 사용하여 렌더링됩니다.
이 방법을 사용하려면 원본 이미지, 최대 너비 및 최대 높이를 인수로 전달하기만 하면 됩니다. 이 메소드는 크기가 조정된 이미지를 반환하며, 필요에 따라 저장하거나 사용할 수 있습니다.
위 내용은 최대 너비 및 높이 제약 조건으로 종횡비를 유지하면서 이미지 크기를 비례적으로 조정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!