2010-12-16 2 views
4

Я рисую изображение с strechable колпачков определенными, как в следующем:UIImage stretchableImageWithLeftCapWidth не работает при рисовании в контексте кварцевой

[bubbleImg stretchableImageWithLeftCapWidth:17 topCapHeight:12]; 

И это работает нормально, когда внутри UIImageView, но это не делает работая при рисовании изображения следующим образом:

CGContextDrawImage(context, CGRectMake(x, y, width, height), image.CGImage); 

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

ответ

3

При рисовании растягиваемого изображения не используйте свойство CGImage, потому что оно возвращает базовое нерастянутое растровое изображение. Вместо этого используйте методы рисования UIImage напрямую.

Если вы рисуете необычный контекст (за пределами методов рисования UIView/CALayer в контексте чистой графики), вам может понадобиться обернуть рисунок UIKit в UIGraphicsPushContext()/UIGraphicsPopContext() вызовах.

+1

приятный. Я использовал методы drawAtRect. Все еще возникают некоторые странные проблемы с рендерингом .. горизонтальные линии - и т. Д. – 2010-12-16 06:27:57

Смежные вопросы