UIImage stretchableImageWithLeftCapWidth не работает при рисовании в кварцевом контексте - PullRequest
4 голосов
/ 16 декабря 2010

Я рисую изображение с растягивающимися колпачками, определенными следующим образом:

[bubbleImg stretchableImageWithLeftCapWidth:17 topCapHeight:12];

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

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

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

1 Ответ

3 голосов
/ 16 декабря 2010

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

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

...