Fab*_*bio 9 objective-c uiimage ios
我有这个代码,我用这个尺寸的2448x3264拍照,我需要调整大小并调整到左上角的屏幕显示.对不起我的英语谢谢
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
imagenUsr = [info objectForKey:UIImagePickerControllerOriginalImage];
NSLog(@"%f",imagenUsr.size.height); //2448px
NSLog(@"%f",imagenUsr.size.width); //3264px
}
Run Code Online (Sandbox Code Playgroud)
我需要调整到320x568宽高比以填充所拍摄图像的顶部和左侧
Ras*_*had 11
试试这个:
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
imagenUsr = [info objectForKey:UIImagePickerControllerOriginalImage];
double width = imagenUsr.size.width;
double height = imagenUsr.size.height;
double screenWidth = self.view.frame.size.width;
double apect = width/height;
double nHeight = screenWidth/ apect;
self.imgView.frame = CGRectMake(0, 0, screenWidth, nHeight);
self.imgView.center = self.view.center;
self.imgView.image = imagenUsr;
}
Run Code Online (Sandbox Code Playgroud)
这将帮助您像以前一样保持纵横比.
另一种方式是:
self.imgView.contentMode = UIViewContentModeScaleAspectFit;
self.imgView.image = imagenUsr;
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助.. :)
Var*_*Dev 10
斯威夫特 3.0 / 4.0
AspectFill 图像裁剪/调整大小...根据 UIImageview 帧大小。
func ResizeImage(with image: UIImage?, scaledToFill size: CGSize) -> UIImage? {
let scale: CGFloat = max(size.width / (image?.size.width ?? 0.0), size.height / (image?.size.height ?? 0.0))
let width: CGFloat = (image?.size.width ?? 0.0) * scale
let height: CGFloat = (image?.size.height ?? 0.0) * scale
let imageRect = CGRect(x: (size.width - width) / 2.0, y: (size.height - height) / 2.0, width: width, height: height)
UIGraphicsBeginImageContextWithOptions(size, false, 0)
image?.draw(in: imageRect)
let newImage: UIImage? = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return newImage
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17725 次 |
| 最近记录: |