Я пытаюсь изменить размер 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);
На самом деле он возвращает исходную ширину изображения, а не ширину, которую я вижу на экране.
Итак, как я могу создать изображение, размер которого действительно изменен и не только нарисовал нужный размер ??
Спасибо