Я написал свои собственные подборщики изображений, используя классы ALAssetsLibrary
.ALAsset thumbnail имеют черный фон
Почти все в порядке, , но есть несколько изображений, имеющих черный фон, в то время как фактическое изображение является прозрачным/альфа-каналом.
Как исправить эту проблему?
Вот мое перечисление блок, в котором я имею загрузить изображение из ALAsset собственности эскиза:
[reversedItems enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^(void) {
UIImage *image = [UIImage imageWithCGImage:[[_assets objectAtIndex:allItems - idx] thumbnail]];
dispatch_async(dispatch_get_main_queue(), ^{
GridView *gridView = (GridView *)obj;
gridView.imageView.image = image;
});
});
}];
имеют один и тот же вопрос, но попробуйте запустить приложение на устройстве IOS, на устройстве вы не должны видеть черный фон, кажется, что он появляется только в тренажере –
на самом деле я вижу, что фон на устройстве. – h4cky
Перейдите в файловую систему симулятора и найдите миниатюры, посмотрите, в каком формате они сохраняются. Насколько я помню, это jpeg или какой-либо другой формат, который не поддерживает альфа-канал. Я знаю, что список миниатюр в альбомах имеет tiff и не имеет альфа-канала. – TheBlack