Насколько эффективен метод CGContextSetInterpolationQuality в Quartz?
Влияет ли это на качество изображения? Если да, то в какой степени?
Я не вижу никакой разницы между интерполированным и неинтерполированным изображением.
Насколько эффективен метод CGContextSetInterpolationQuality в Quartz?
Влияет ли это на качество изображения? Если да, то в какой степени?
Я не вижу никакой разницы между интерполированным и неинтерполированным изображением.
Хотя это немного старый вопрос, я недавно провел сравнительный анализ эффектов CGContextSetInterpolationQuality и подумал, что его результаты могут быть интересны кому-то еще.
В своем тестовом тесте я нарисовал набор из 6 различных черно-белых растровых изображений 649x649, чтобы создать набор из 12 различных фрагментов головоломки. Растровые изображения уменьшены в 5,0 раз (т. е. до 129,8x129,8), чтобы они поместились на дисплее с разрешением 320x480 (в масштабе дисплея Retina).
Время работы на iPod touch 4-го поколения, по данным Instruments, следующее:
kCGInterpolationLow: 969 мс
kCGInterpolationMedium: 1690 мс
kCGInterpolationHigh: 2694 мс
kCGInterpolationNone: 545 мс
Что касается визуального результата, если вы сравните High или Medium с Low или None, разница будет ошеломляющей. Даже заметна, ИМО, разница между None и Low; в то время как разница между High и Medium не особо заметна в этом конкретном тесте. Что ясно, так это разница во времени выполнения, поэтому в моем конкретном случае я использовал kCGInterpolationMedium.
kCGInterpolationNone

kCGInterpolationLow

kCGInterpolationMedium

kCGInterpolationHigh

kCGInterpolationHigh для журнала. Спасибо за объяснение.
- person Hisenberg; 04.03.2013
Метод
void CGContextSetInterpolationQuality ( CGContextRef c, CGInterpolationQuality quality );
влияют на то, как Quartz визуализирует изображение в CGContext. Это например. вступает в игру, когда исходное изображение больше или меньше целевого растрового изображения CGContext.
Чтобы точно ответить на ваш вопрос о том, почему вы не видите заметной разницы, мне потребуется больше подробностей о точном использовании, размерах изображений, типах контекста и т. д.
Какие именно методы интерполяции охватывают разные уровни качества, кажется недокументированным. Однако предположение с моей стороны было бы таким:
С уважением
kCGInterpolationNone? Я думаю, это должен быть ближайший сосед
- person zxcat; 26.05.2013