У меня есть UIImage
, что я знаю его хорошо до масштабирования. Мне нужно масштабировать его, чтобы я мог установить его в ccsprite. я масштабировать его, но потом я получил белое изображение ..Изменение размера изображения дает белое изображение
UIImage *scaled=[newImage copy];
//scale the image
CGRect screenRect = CGRectMake(0, 0, 640.0, 960.0);
UIGraphicsBeginImageContext(screenRect.size);
scaled = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
CCSprite * image = [CCSprite spriteWithCGImage:scaled.CGImage
key:[NSString stringWithFormat:@"%d",[localImagesSpritesArray count]]];
Что это может быть?
Где вы рисуете изображение, которое нужно масштабировать в новом контексте? ** hint **: 'CGContextDrawImage (context, screenRect, scale.CGImage);' – Till
Почему вы создаете копию 'newImage', а затем выбрасываете результат? – rmaddy
Кроме того, вы не должны жестко закодировать 'screenRect'. Вы должны получить его из UIScreen. Вы также можете использовать 'UIGraphicsBeginImageContextWithOptions' вместо' UIGraphicsBeginImageContext'; версия «WithOptions» позволяет указать масштабный коэффициент контекста или попросить его автоматически определить. Функция, которую вы используете безоговорочно, использует масштабный коэффициент «1.0», который предназначен для изображений без сетчатки. –