UIImage的stretchableImageWithLeftCapWidth在绘制到quartz上下文时无法使用

4
我正在绘制一张图片,其中可伸缩的端点定义如下:
[bubbleImg stretchableImageWithLeftCapWidth:17 topCapHeight:12];

在UIImageView中使用时,这个方法可以正常工作,但是在像下面这样绘制图片时就无法正常工作:

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

我有点怀疑它不起作用。在绘制到CG上下文时,可伸缩帽图像是否有解决方案?

1个回答

3
当绘制可伸缩图像时,请不要使用CGImage属性,因为它返回底层未拉伸的位图。而是直接使用UIImage的绘制方法。
如果您在非常规环境中进行绘制(在纯Core Graphics上下文中的UIView / CALayer绘制方法之外),则可能需要在UIGraphicsPushContext()/ UIGraphicsPopContext()调用中包装UIKit绘制。

1
不错。我使用了drawAtRect方法。仍然存在一些奇怪的渲染问题...水平线等。 - Mike S

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接