MaxHeight 및 MaxWidth 제약 조건을 사용하여 이미지 크기를 비례적으로 조정
특정 치수에 맞게 이미지 크기를 조정할 때 이미지의 가로 세로 비율을 유지하는 것이 중요합니다. 이 시나리오의 목표는 지정된 최대 높이 및 너비 제약 조건을 준수하면서 비례적으로 이미지 크기를 조정하는 것입니다.
이를 달성하기 위해 이미지의 너비와 높이를 최대값과 비교합니다. 어느 하나의 치수가 제한을 초과하면 두 치수가 모두 제약 조건을 충족할 때까지 이미지의 크기가 축소됩니다. 그러나 이 크기 조정에서는 왜곡을 방지하기 위해 원래 가로 세로 비율을 유지해야 합니다.
이를 수행하는 한 가지 방법은 다음 코드를 사용하는 것입니다.
public static Image ScaleImage(Image image, int maxWidth, int maxHeight) { double ratioX = (double)maxWidth / image.Width; double ratioY = (double)maxHeight / image.Height; double ratio = Math.Min(ratioX, ratioY); int newWidth = (int)(image.Width * ratio); int newHeight = (int)(image.Height * ratio); Bitmap newImage = new Bitmap(newWidth, newHeight); using (Graphics graphics = Graphics.FromImage(newImage)) { graphics.DrawImage(image, 0, 0, newWidth, newHeight); } return newImage; }
이 코드에서 너비와 높이 비율( ratioX 및 ratioY)는 이미지를 얼마나 축소해야 하는지 결정하기 위해 계산됩니다. 이러한 비율(ratio)의 최소값은 이미지의 종횡비를 유지하면서 지정된 최대 제약 조건을 넘어 이미지 크기가 조정되지 않도록 합니다. 새 크기(newWidth 및 newHeight)는 크기 조정 비율을 기준으로 계산됩니다. 마지막으로 새 비트맵(newImage)이 생성되고 원본 이미지가 크기 조정된 크기로 그려집니다.
위 내용은 최대 높이 및 최대 너비 제약 조건으로 종횡비를 유지하면서 이미지 크기를 비례적으로 조정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!