|
Képek átméretezése iPhone-on
Gyakori probléma egy kép átméretezése a programozók gyakorlatában. Ez többnyire úgy oldható meg, hogy létrehozunk egy új képet a megadott méretekkel, majd arányosan átrajzoljuk a másik képre. Esetünkben sincs másként, ez a függvény egyszerűen átméretezi a képet, és visszaad egy másikat.
-(UIImage *)resizeImage:(UIImage *)image width:(int)width height:(int)height {
CGImageRef imageRef = [image CGImage];
CGImageAlphaInfo alphaInfo = CGImageGetAlphaInfo(imageRef);
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;
}
  swGuru
|