在我的iPhone应用程序中,我需要调整一些类型为UIImageView
的图像,我在一个数组中。我没有使用Interface Builder来完成这项任务。
我收到了这个错误:
作为左操作员分配所需的左值
使用以下代码:
CGSize newsize;
for (int i = 0; i<5; i++)
{
// ball[] is of type UIImageView *
ball[i].center = CGPointMake(ball[i].center.x-5,ball[i].center.y);
if (ball[i].center.x <= 36)
{
while(ball[i].frame.size.width>0 && ball[i].frame.size.height>0)
{
newsize.height =val2--;
newsize.width =val2--;
ball[i].frame.size = newsize; // This line gives the error
}
}
}
如果这不是正确的方法,你能告诉我如何调整阵列中的图像大小吗?
答案 0 :(得分:1)
你的意思是,你想裁剪图像吗?
要调整图片大小,请尝试以下代码:
-(UIImage *)resizeImage:(UIImage *)image width:(int)width height:(int)height {
CGImageRef imageRef = [image CGImage];
CGImageAlphaInfo alphaInfo = CGImageGetAlphaInfo(imageRef);
//if (alphaInfo == kCGImageAlphaNone)
alphaInfo = kCGImageAlphaNoneSkipLast;
CGContextRef bitmap = CGBitmapContextCreate(NULL, width, height, CGImageGetBitsPerComponent(imageRef), 4 * width, CGImageGetColorSpace(imageRef), alphaInfo);
CGContextDrawImage(bitmap, CGRectMake(0, 0, width, height), imageRef);
CGImageRef ref = CGBitmapContextCreateImage(bitmap);
UIImage *result = [UIImage imageWithCGImage:ref];
CGContextRelease(bitmap);
CGImageRelease(ref);
return result;
}