iOS UIImage 裁剪模糊问题解决方案 - 使用 CGImageCreateWithImageInRect
使用 CGImageCreateWithImageInRect 裁剪出的图片模糊的原因可能是因为裁剪的 rect 大小和原始图片的分辨率不匹配。可以尝试将裁剪的 rect 的大小进行放大,然后再裁剪出图片。
下面是一个使用 CGImageCreateWithImageInRect 对 UIImage 对象进行裁剪的示例代码:
// 原始图片
UIImage *originalImage = [UIImage imageNamed:'originalImage.png'];
// 裁剪的区域
CGRect cropRect = CGRectMake(50, 50, 200, 200); // 使用你自己的裁剪区域
// 将 rect 放大到原始图片的分辨率
CGFloat scale = originalImage.scale;
cropRect = CGRectMake(cropRect.origin.x * scale, cropRect.origin.y * scale, cropRect.size.width * scale, cropRect.size.height * scale);
// 裁剪图片
CGImageRef imageRef = CGImageCreateWithImageInRect([originalImage CGImage], cropRect);
UIImage *croppedImage = [UIImage imageWithCGImage:imageRef];
// 释放 CGImageRef
CGImageRelease(imageRef);
这样裁剪出的图片应该会更清晰。
原文地址: https://www.cveoy.top/t/topic/fltN 著作权归作者所有。请勿转载和采集!