У меня есть изображение PNG, у которого есть неподдерживаемый формат пиксельного контекстного графического контекста. Всякий раз, когда я пытаюсь изменить размер изображения, CGBitmapContextCreate()
дроссели на неподдерживаемый форматiPhone: Изменение CGImageAlphaInfo от CGImage
Я получаю следующее сообщение об ошибке (ошибка отформатирован для удобства чтения):
CGBitmapContextCreate: unsupported parameter combination:
8 integer bits/component;
32 bits/pixel;
3-component colorspace;
kCGImageAlphaLast;
1344 bytes/row.
list of supported pixel formats определенно не поддерживает эту комбинацию. Кажется, мне нужно перерисовать изображение и переместить информацию альфа-канала в kCGImageAlphaPremultipliedFirst or kCGImageAlphaPremultipliedLast.
Я понятия не имею, как это сделать.
В PNG-файле нет ничего необычного, и он не поврежден. Он работает во всех других условиях просто отлично. Я случайно столкнулся с этой ошибкой, но, очевидно, мои пользователи могли иметь аналогично отформатированные файлы, поэтому мне придется проверять импортированные изображения моего приложения и исправлять эту проблему.
Выглядит хорошо, я попробую. Мне не нравится делать много обработки, потому что я боюсь, что я случайно погублю преданность. – TechZen
Я, наконец, добрался до тестирования, и он отлично работает без заметной потери верности. – TechZen
У меня проблема с вышеуказанным кодом, когда изображениеОриентация UIImage - это что-то вроде OrientationUp - это приводит к повороту изображения. Границы изображения остаются неизменными, но пиксели внутри изображения вращаются и растягиваются в соответствии с исходными границами. Это похоже на то, что описано в: http://stackoverflow.com/questions/5973105/image-clicked-from-iphone-in-portrait-mode-gets-rotated-by-90-degree, но в этом случае это нормализовать функцию, которая, как представляется, вызывает проблему. Кто-нибудь еще это видит? Любое исправление для этого? – kurtzmarc