Как нарисовать гистограмму UIImage программно? - PullRequest
5 голосов
/ 07 декабря 2010

Как программно нарисовать гистограмму изображения UIImage на iPhone?Например:

alt text

Спасибо!

Ответы [ 4 ]

2 голосов
/ 25 сентября 2015

Вы можете рассчитать гистограмму с помощью Accelerate framework. Есть функция vImageHistogramCalculation_ARGB8888(). Для вызова этой функции вам нужно создать vImage_Buffer из UIImage. Для этого используйте функцию vImageBuffer_InitWithCGImage().

Для получения дополнительной информации вы можете добавить эту платформу в ваш проект и прочитать документы в заголовочных файлах:

Accelerate.framework / Frameworks / vImage.framework / Headers / vImage_Utilities.h Accelerate.framework / Frameworks / vImage.framework / Headers / Histogram.h

2 голосов
/ 07 декабря 2010

API для этого не существует.

Редактировать: API был представлен в iOS5.См. Ответ kelin.

Вы хотите получить необработанные данные изображения, подсчитать значения цвета и самостоятельно нарисовать гистограмму.

Доступ к пикселям: Как получить данные пикселейиз UIImage (Touch Touch) или CGImage (Core Graphics)?

Используйте CoreGraphics для рисования гистограммы в пользовательском подклассе UIView.

1 голос
/ 17 апреля 2013

На самом деле есть, я отсылаю вас к ответу Брэда Ларсона: https://stackoverflow.com/a/10359305/300115

Вы можете найти класс GPUImageHistogramFilter в его библиотеке: https://github.com/BradLarson/GPUImage

"Витрина фильтров"Демо в библиотеке уже есть рабочая версия анализа живой гистограммы.Live Histogram Analysis

0 голосов
/ 28 декабря 2012

Вас может заинтересовать DSBarChart . Попробуйте.

...