iPhone - Как Вы окрашиваете изображение?

Я верю, если Вы, которых setenv MALLOC_CHECK_ к 2, glibc позвонит abort(), когда он обнаружит "свободный (): недопустимый указатель" ошибка. Отметьте запаздывающее подчеркивание от имени переменной среды.

, Если MALLOC_CHECK_ 1 glibc, распечатает "свободный (): недопустимый указатель" (и подобный printfs для других ошибок). Если MALLOC_CHECK_ будет 0, то glibc тихо проигнорирует такие ошибки и просто возвратится. Если MALLOC_CHECK_ будут 3 glibc, то будет печатать сообщение и затем звонить abort(). Т.е. это - битовая маска.

можно также звонить mallopt(M_CHECK_ACTION, arg) с аргументом 0-3 и получить тот же результат как с MALLOC_CHECK_.

, Так как Вы видите "свободный (): недопустимый указатель" сообщение, я думаю, что необходимо уже быть установкой MALLOC_CHECK_ или вызовом mallopt(). По умолчанию glibc не печатает те сообщения.

Что касается того, как отладить, это, устанавливая обработчик для [1 110] является, вероятно, лучший способ продолжиться. Можно установить точку останова в обработчике или сознательно инициировать дамп ядра.

34
задан 3 August 2009 в 16:40
поделиться

4 ответа

Сначала вы рисуете цвет, а затем рисуете изображение поверх него. Если изображение не является частично прозрачным, оно полностью перекрывает цвет фона. Я рекомендую сначала попытаться нарисовать исходное изображение, а затем нарисовать его красным, используя kCGBlendModeHue .

Я не уверен, зачем вы переворачиваете и переводите свой контекст. Ваша фотография перевернута?

0
ответ дан 27 November 2019 в 16:14
поделиться

Хорошо, как это?

На этапе создания вашего актива (НЕ динамически во время работы приложения) инвертируйте цветовую схему ваших изображений. Часть, которая теперь стала белой -> прозрачная. Часть, которая теперь прозрачна -> независимо от фона страницы.

Под каждым изображением поместите пустой белый вид того же размера. Если вы хотите сделать изображение красным, измените цвет этого пустого белого изображения на красный.

Это выполнимо?

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

Это выполнимо?

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

Это выполнимо?

1
ответ дан 27 November 2019 в 16:14
поделиться

Если установить для backgroundColor UIImageView значение [UIColor redColor], части исходного PNG, которые были прозрачными , станут красными. В качестве альтернативы вы можете попробовать добавить полупрозрачный UIView с красным цветом фона в качестве подвида изображения. Это добавит красной дымки к виду, на котором отображается изображение.

0
ответ дан 27 November 2019 в 16:14
поделиться

Измените режим наложения на multiply , и ваш код будет работать:

CGContextSetBlendMode(ctx, kCGBlendModeMultiply);
12
ответ дан 27 November 2019 в 16:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: