Я использую UIGraphicsBeginImageContext для захвата экрана, но качество изображения не очень хорошее. Может ли кто-нибудь помочь мне сохранить UICollectionViewCell в качестве изображения высокого качества и как получить размер динамической ячейки при выборе ячейки.Сохранить UICollectionViewCell как изображение с использованием UIGraphicsBeginImageContext
0
A
ответ
1
Метод CollectionView делегата получит ячейку, когда она будет выбрана, и изображение ячейки будет сохранено в каталоге документов проекта.
-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
{
UICollectionViewCell *cell = [collectionView cellForItemAtIndexPath:indexPath];
UIGraphicsBeginImageContext(cell.bounds.size);
[cell.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
NSString *stringPath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)objectAtIndex:0]stringByAppendingPathComponent:@"New ImageFolder"];
NSError *error = nil;
if (![[NSFileManager defaultManager] fileExistsAtPath:stringPath])
[[NSFileManager defaultManager] createDirectoryAtPath:stringPath withIntermediateDirectories:NO attributes:nil error:&error];
NSString *fileName = [stringPath stringByAppendingFormat:@"/image.jpg"];
NSData *data = UIImageJPEGRepresentation(newImage, 1.0);
[data writeToFile:fileName atomically:YES];
}
Показать Ваш код. Как вы создаете контекст и рисуете ячейку? Что вы хотите сделать с изображением? Не могли бы вы использовать представление моментального снимка? – jrturton
Этот вопрос не представляет интереса для решения проблемы самостоятельно. Вы пытались это сделать? Любой код? С какими проблемами вы столкнулись? Пользователи SOF должны помочь с проблемами не писать код вместо вас ... Сделайте добросовестную попытку решить проблему самостоятельно. – Vive