gpt4 book ai didi

iphone - 裁剪后的图像在iPhone中放大了吗?

转载 作者:行者123 更新时间:2023-12-01 16:50:53 25 4
gpt4 key购买 nike

我有一个应用程序,其中将我的图像从(360,480)缩放到(320,480),然后裁剪图像。它工作正常。但是当我们得到图像时,它得到的是稍微放大的图像。这是我的方式。

[self imageWithImage:(UIImage *)image scaledToSize:CGSizeMake(160.0f,240.0f)];

我的防守是-
-(UIImage *)imageWithImage:(UIImage *)image scaledToSize:(CGSize)newSize {
//UIGraphicsBeginImageContext(newSize);
UIGraphicsBeginImageContextWithOptions(newSize, NO, 0.0);
[image drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

[self cropimage:newImage];
return newImage;
}

在cropimage中,我正在这样做-
-(void)cropimage:(UIImage *)image
{

CGRect cropRect = CGRectMake(20,100,280,200);
CGImageRef imageRef = CGImageCreateWithImageInRect([image CGImage], cropRect);
UIImage* croppedImage = [UIImage imageWithCGImage:imageRef];
CGImageRelease(imageRef);

NSData *pictureData = [NSData dataWithData:UIImagePNGRepresentation(croppedImage)];
}

有人能找出我的方法有什么问题吗?

最佳答案

尝试传递image.scale作为缩放比例,而不是0.0,以强制它使用传入的图像比例。

-(UIImage *)imageWithImage:(UIImage *)image scaledToSize:(CGSize)newSize {
//UIGraphicsBeginImageContext(newSize);
UIGraphicsBeginImageContextWithOptions(newSize, NO, image.scale);
[image drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

[self cropimage:newImage];
return newImage;
}

关于iphone - 裁剪后的图像在iPhone中放大了吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15927961/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com