Estoy tratando de cambiar el tamaño de un CGImageRef para que pueda dibujarlo en la pantalla con el tamaño que quiero. así que tengo este código:Cambiar el tamaño de la imagen en Core Graphics
CGColorSpaceRef colorspace = CGImageGetColorSpace(originalImage);
CGContextRef context = CGBitmapContextCreate(NULL,
CGImageGetWidth(originalImage),
CGImageGetHeight(originalImage),
CGImageGetBitsPerComponent(originalImage),
CGImageGetBytesPerRow(originalImage),
colorspace,
CGImageGetAlphaInfo(originalImage));
if(context == NULL)
return nil;
CGRect clippedRect = CGRectMake(CGContextGetClipBoundingBox(context).origin.x,
CGContextGetClipBoundingBox(context).origin.y,
toWidth,
toHeight);
CGContextClipToRect(context, clippedRect);
// draw image to context
CGContextDrawImage(context, clippedRect, originalImage);
// extract resulting image from context
CGImageRef imgRef = CGBitmapContextCreateImage(context);
lo que este código permite que dibuje al parecer, la imagen al tamaño que quiero, y eso es bueno. El problema es que la imagen real que obtengo una vez cambia de tamaño a pesar de que parece redimensionada en la pantalla, no se cambia de tamaño. Cuando lo hago:
CGImageGetWidth (imgRef);
En realidad devuelve el ancho original de la imagen y no el ancho que veo en la pantalla.
Entonces, ¿cómo puedo crear una imagen que realmente se redimensione y no solo dibuje el tamaño correcto que quiero?
Gracias
¿Solo desea * dibujar * se redimensionó o realmente * quiere * cambiarle el tamaño? Puedes hacer lo primero sin hacer lo segundo (y probablemente sea aún más rápido) – Robin