1

我一直在为 iphone 制作一个简单的绘画应用程序。我正在尝试将绘制的图像转换为透明的 PNG(我不想要白色背景)。我还想获得一个 UIImage 表示以在 UIImageView 中使用。

目前,我响应触摸事件并绘制到 CGLayer 的路径,然后将其绘制到我的视图上下文中。我可以访问 CGLayer 以及视图本身。目前,我使用以下方法将视图输出到图像:

UIGraphicsBeginImageContext(drawingView.bounds.size);
[drawingView.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();   
UIGraphicsEndImageContext();

这仅使用视图来创建 UIImage。

由于视图具有白色背景,因此它包含在我创建的 UIImage 中。我想得到一个没有这个白色背景的 UIImage,这样我就可以显示和写入 PNG 文件。

我想我应该直接使用我拥有的 CGLayer,但我不确定如何从CGLayerRef我可以访问的类型中获取它。

任何想法将不胜感激。

  • 阿莱姆
4

1 回答 1

5

我刚刚处理了这个。不要在上绘制背景CGLayer然后将背景设置UIView为:

self.backgroundColor = [UIColor clearColor];

应该这样做,您的 png 将具有透明背景。

于 2009-08-06T12:56:47.017 回答