고정 된 크기의 이미지를 만들고 싶습니다. 예 : 612 by 612. 이미지 픽커를 사용하여 내 아이폰에서 사진을 선택합니다. 따라서 모든 사진이 612x612 크기로 왜곡되지 않도록하려면 다음 방법을 사용하여 612x612 크기에 맞게 사진의 크기를 조정하십시오. 그러나 결과적으로 빈 칸 최종 이미지에서 생성 될 수 있습니다. 이미지가 때로는 전체 사각형이 같이 언급 한 바와 같이이미지 뷰 (이미지로 덮히지 않음)의 틈을 색으로 채우는 방법은 무엇입니까?
//Scale the image to fit to imageview
UIImage *image = [self scaleImage:img toRectSize:CGRectMake(0, 0, 612, 612)];
//Method to scale image
- (UIImage *)scaleImage:(UIImage *)img toRectSize:(CGRect)screenRect
{
UIGraphicsBeginImageContext(screenRect.size);
float hfactor = img.size.width/screenRect.size.width;
float vfactor = img.size.height/screenRect.size.height;
float factor = MAX(hfactor, vfactor);
float newWidth = img.size.width/factor;
float newHeight = img.size.height/factor;
float leftOffset = (screenRect.size.width - newWidth)/2;
float topOffset = (screenRect.size.height - newHeight)/2;
CGRect newRect = CGRectMake(leftOffset, topOffset, newWidth, newHeight);
[img drawInRect:newRect blendMode:kCGBlendModePlusDarker alpha:1];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newImage;
}
I ((612)에 의해 고정 된 크기 612) 내 이미지를 확장하려면 다음 코드를 사용하고
(아래 예 참조), 내가 얻을 아래 무엇을보고 같은 결과 :
어떻게 검은 색 이미지의 공백을 느낄 수 있습니까?
고마워요! 즉,이 선을 제거해야한다는 뜻입니까? [img drawInRect : newRect blendMode : kCGBlendModePlusDarker alpha : 1]; 'ModeNormal'하나로 바꾸시겠습니까? BTW이 위대한 작품! 고마워! – Zhen
예. 실제 이미지를 그대로 유지하려면 * kCGBlendModeNormal *을 사용해야합니다. – EmptyStack