Я пытаюсь сделать это уже несколько дней. Я создаю загрузчик листов спрайтов, однако я также должен иметь возможность загружать спрайты, обращенные в противоположном направлении. Это включает переворачивание изображений, которые я уже загрузил.
Я уже пытался сделать это с помощью метода UIImageOrientation / UIImageOrientationUpMirrored, однако это не имеет абсолютно никакого эффекта и просто рисует кадр с той же ориентацией, что и раньше.
С тех пор я попробовал несколько более сложный способ, который я приведу ниже. Но все равно просто рисует изображение точно так же, как оно загружено в приложение. (не зеркально).
Я включил приведенный ниже метод (вместе с моими комментариями, чтобы вы, возможно, могли следовать моему образцу мыслей), вы видите, что я делаю неправильно?
- (UIImage*) getFlippedFrame:(UIImage*) imageToFlip
{
//create a context to draw that shizz into
UIGraphicsBeginImageContext(imageToFlip.size);
CGContextRef currentContext = UIGraphicsGetCurrentContext();
//WHERE YOU LEFT OFF. you're attempting to find a way to flip the image in imagetoflip. and return it as a new UIimage. But no luck so far.
[imageToFlip drawInRect:CGRectMake(0, 0, imageToFlip.size.width, imageToFlip.size.height)];
//take the current context with the old frame drawn in and flip it.
CGContextScaleCTM(currentContext, -1.0, 1.0);
//create a UIImage made from the flipped context. However will the transformation survive the transition to UIImage? UPDATE: Apparently not.
UIImage* flippedFrame = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return flippedFrame;
}
Спасибо, Парень.