gpt4 book ai didi

iphone - 简单调整图像大小

转载 作者:行者123 更新时间:2023-12-03 21:21:25 25 4
gpt4 key购买 nike

我一直在尝试使用一种常用的方法来调整图像大小。如果不使用此方法,下面是获取图像 url 的代码。

NSData *data = [NSData dataWithContentsOfURL:url];
UIImage *img = [[UIImage alloc] initWithData:data];

cell.imageView.image = img;

这很好用。但是当我尝试使用这种方法时:

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

并使用以下方式调用它:

UIImage *scaledImage = [self imageWithImage:img scaledToSize:CGSizeMake(10.0f,10.0f)];

然后像这样放入我的表中:

cell.imageView.image = scaledImage;

没有显示任何内容。我在这里缺少什么吗?

最佳答案

这类似于 Exporting customized UITableViewCells into UIImage

这是您需要在 -imageWithImage:scaledToSize: 方法中执行的操作,根据我对该问题的回答进行修改:

-(UIImage*)imageWithImage:(UIImage*)image scaledToSize:(CGSize)newSize
{
// Create a bitmap context.
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
CGContextRef bitmapContextForScaledImage = CGBitmapContextCreate(nil, newSize.width, newSize.height, 8, 0, colorSpace, kCGImageAlphaNone);
CGColorSpaceRelease(colorSpace);

// Draw the image's layer into the context.
UIImageView * imageView = [[UIImageView alloc] initWithImage:image];
[imageView.layer renderInContext:bitmapContextForCell];
[imageView release];

// Create a CGImage from the context.
CGImageRef cgScaledImage = CGBitmapContextCreateImage(bitmapContextForScaledImage);

// Create a UIImage from the CGImage.
UIImage * scaledImage = [UIImage imageWithCGImage:cgScaledImage];

// Clean up.
CGImageRelease(cgScaledImage);
CGContextRelease(bitmapContextForScaledImage);

return scaledImage;
}

关于iphone - 简单调整图像大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4199553/

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