Изменение размера изображения в основной графике

Я пытаюсь изменить размер CGImageRef, чтобы я мог нарисовать его на экране с нужным мне размером. Итак, у меня есть этот код:

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);

Итак, этот код позволяет мне явно нарисовать изображение до нужного мне размера, и это хорошо. Проблема в том, что фактическое изображение, которое я получаю однажды, изменяется, даже если оно выглядит измененным на экране, но на самом деле его размер не изменяется. Когда я это делаю:

CGImageGetWidth (imgRef);

На самом деле он возвращает исходную ширину изображения, а не ширину, которую я вижу на экране.

Итак, как я могу создать изображение, размер которого действительно изменен и не только нарисовал нужный размер ??

Спасибо

5
задан Cory Kilger 28 April 2011 в 17:58
поделиться