У меня есть tableview
, и я загружаю в него изображения.У меня есть изображения размером от 150 КБ до 2 МБ.Поскольку это слишком много для обработки таблицы (загрузка занимает много времени и замедляет прокрутку), я подумал об использовании ImageIO framework
для создания миниатюр изображений изображений.
Я нашел код, которыйделает это, но я не могу понять это.
1.) Может кто-нибудь объяснить, пожалуйста, код
2.) Моя проблема в том, что у меня есть таблица и мне нужно загрузить в нее миниатюры.Итак, как я могу использовать следующий код и отобразить его в моем табличном представлении.Может кто-нибудь показать мне пример кода или учебник, который это делает?
вот код;
-(void)buildGallery
{
for (NSUInteger i = 0; i < kMaxPictures; i++)
{
NSInteger imgTag = i + 1;
NYXPictureView* v = [[NYXPictureView alloc] initWithFrame:(CGRect){.origin.x = x, .origin.y = y, .size = _thumbSize}];
NSString* imgPath = [[NSBundle mainBundle] pathForResource:[NSString stringWithFormat:@"%d", imgTag] ofType:@"jpg"];
CGImageSourceRef src = CGImageSourceCreateWithURL((CFURLRef)[NSURL fileURLWithPath:imgPath], NULL);
CFDictionaryRef options = (CFDictionaryRef)[[NSDictionary alloc] initWithObjectsAndKeys:(id)kCFBooleanTrue, (id)kCGImageSourceCreateThumbnailWithTransform, (id)kCFBooleanTrue, (id)kCGImageSourceCreateThumbnailFromImageIfAbsent, (id)[NSNumber numberWithDouble:_maxSize], (id)kCGImageSourceThumbnailMaxPixelSize, nil];
CGImageRef thumbnail = CGImageSourceCreateThumbnailAtIndex(src, 0, options); // Create scaled image
CFRelease(options);
CFRelease(src);
UIImage* img = [[UIImage alloc] initWithCGImage:thumbnail];
[v setImage:img];
[img release];
CGImageRelease(thumbnail);
}
}