내 응용 프로그램 디자인에서 원격 서버에서 가져온 이미지의 사각형 공간이 있습니다. 그러나 때로는 이미지가 정사각형 대신 가로 직사각형입니다.크기에 맞게 이미지 크기 조정
이미지를 자르지 않고 대신 사각형 구속 조건에 맞도록 크기를 조정 한 다음 나머지 공간을 약간의 배경색 (흰색)으로 채 웁니다.
내 응용 프로그램 디자인에서 원격 서버에서 가져온 이미지의 사각형 공간이 있습니다. 그러나 때로는 이미지가 정사각형 대신 가로 직사각형입니다.크기에 맞게 이미지 크기 조정
이미지를 자르지 않고 대신 사각형 구속 조건에 맞도록 크기를 조정 한 다음 나머지 공간을 약간의 배경색 (흰색)으로 채 웁니다.
UIImageView
의 contentMode
을 UIViewContentModeScaleAspectFit
으로 설정하십시오.
이 방법이 도움이 될지 모르지만이 방법을 사용하여 이미지의 크기와 일치하도록보기의 크기를 맞 춥니 다. 제공된 rect를 가져 와서 이미지와 일치하도록 잘라냅니다. 반환 된 CGRect는 뷰에 적용될 수 있습니다. 나는 이미지에 그림자를 추가 할 수 있도록 이것을 사용했다. (뷰가 이미지와 완벽하게 일치하지 않으면 잘못되었다.)
- (CGRect) resizeCGRect:(CGRect)rect toImage:(UIImage *)image{
CGSize size = rect.size;
CGSize iSize = image.size;
if (iSize.width > iSize.height){
if (iSize.width/iSize.height > size.width/size.height)
size.height = size.width * (iSize.height/iSize.width);
else
size.width = size.height * (iSize.width/iSize.height);
} else {
if (iSize.height/iSize.width > size.height/size.width)
size.width = size.height * (iSize.width/iSize.height);
else
size.height = size.width * (iSize.height/iSize.width);
}
rect.size = size;
return rect;
}
원하는 색상의 배경 색상으로있는 UIImageView를 만듭니다. 서버에서 이미지를 만들고 이미지보기에서 이미지를 설정 한 다음 contentMode = UIViewContentModeScaleAspectFit
UIImageView *backgroundColorWhite = [[UIImageView alloc] initWithFrame:someObject.frame];
backgroundColorWhite.backgroundColor = [UIColor whiteColor];
UIImage *serverImage = [UIImage imageWithData:serverData];
backgroundColorWhite.contentMode = UIViewContentModeScaleAspectFit;
[backgroundColorWhite setImage:serverImage];