Я в основном хочу автоматически создать черепичное изображение из кучи исходных изображений, а затем сохранить его в фотоальбом пользователя. У меня нет никакого успеха, рисуя кучу маленьких UIImage в один большой UIImage. Каков наилучший способ сделать это? В настоящее время я использую UIGraphicsBeginImageContext() и [UIImage drawAtPoint] и т. Д. Все, что мне когда-либо закончилось, это черный квадрат 512x512. Как я должен это делать? Я ищу CGLayer и т. Д., Похоже, есть много вариантов, но никто из них не работает особенно легко.Вычисление UIImage для сохранения в фотоальбом
Позвольте мне на самом деле положил мой код:
CGSize size = CGSizeMake(512, 512);
UIGraphicsBeginImageContext(size);
UIGraphicsPushContext(UIGraphicsGetCurrentContext());
for (int i = 0; i < 4; i++)
{
for (int j = 0; j < 4; j++)
{
UIImage *image = [self getImageAt:i:j];
[image drawAtPoint:CGPointMake(i*128,j*128)];
}
}
UIGraphicsPopContext();
UIImage *result = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIImageWriteToSavedPhotosAlbum(result, nil, nil, nil);
Я хотел бы отметить, что на самом деле выше не, что происходит в моем коде точно. Что действительно происходит, так это то, что я вызываю каждую строку до и в UIGraphicsPushContext, а затем в таймере анимации я медленно увеличиваю рисунок и рисую контекст. Затем, после того как все сделано, я вызываю все из UIGraphicsPopContext.
Да, я ввел код, чтобы вы могли точно видеть, что я сделал. – Eli
Хорошо, попробуйте избавиться от строк: UIGraphicsPushContext (UIGraphicsGetCurrentContext()); и UIGraphicsPopContext(); –
Нет, у меня есть представление OpenGL, которое является текущим графическим контекстом и никаким другим UIView нигде не существует. Я просматриваю снимки OpenGL и пытаюсь сфокусировать его на совершенно другом UIImage. Цель этого в основном состоит в том, чтобы получить 3D-модели с нескольких углов в одном листе спрайта. – Eli