ios - 如何将 UIImage View 和其中的文本保存到磁盘

标签 ios uiview nsstring uiimage png

我有一个 iOS 应用程序,它使用 UIImage 子类 View 和 UIBezierPath 在屏幕上绘制形状来绘制形状的线条。

下面是绘制文本的代码:

// This is inside a loop
const unsigned int row       = i; 
const unsigned int column    = j;

NSString* rowColumnId = [[NSString alloc] initWithFormat:@"%d, %d", column, row ];
CGPoint textCoord = shapeCoord[0];
textCoord.x += 5;
textCoord.y += 5;

[rowColumnId drawAtPoint:textCoord withFont:[UIFont fontWithName:@"Helvetica" size:9.0]];

在屏幕上,一切看起来都很好;形状和文本在 iOS 模拟器和我的 iOS 设备中都可见

我需要将 View 保存为 PNG 图像,因此我使用了以下代码:

// set up the rendering context
CGSize  boardViewSize = [self bounds].size;
UIGraphicsBeginImageContext(boardViewSize);
[[self layer] renderInContext:UIGraphicsGetCurrentContext()];

// draw the view
UIImage*    viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

// convert to PNG
NSData*     pngData  = UIImagePNGRepresentation(viewImage);
UIImage*    pngImage = [UIImage imageWithData:pngData];
return pngImage;

当我保存 PNG 时,我看到的只是形状。

还需要什么代码来保存 NSString 绘制的文本?

最佳答案

好吧,我发现问题是透明 PNG 上没有出现黑色文本,尽管它在那里。

所以,上面列出的问题可以忽略。

关于ios - 如何将 UIImage View 和其中的文本保存到磁盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14150331/

相关文章:

ios - 使用 PickerView 时收到 3 个警告

ios - 在 UITableView 上面添加 UIView

ios - 我在 Swift 和基本几何方面做错了什么

ios - 如何从字符串中获取类的属性?

iphone - if else 语句混淆 Objective-C

javascript - 如何在我的 phonegap 应用程序中从网页导航到本地页面?

ios - AVplayer 暂停时如何将 View 层设置为白色?

iphone - 旋转 View 不会旋转音量按钮图标

uiview - 如何使 UIbutton 在 UIView 中可拖动?

ios - UIView 的初始化编码器在调用 instantiateWithOwner 后重新加载