我知道在图像视图的一部分上如何叠加文本框有足够的资源。但是,有没有办法在上传时将图像+重叠文本保存为新图像?
这可能吗?怎么样?
答案 0 :(得分:0)
您可以使用Core Graphics / Quartz 2D来完成此操作。我自己对Core Graphics不太熟悉,但请查看此处的文档,其中描述了使用图像加载图形上下文,然后可以在修改后将其保存到文件中,或者只是从头开始绘制图像并将其保存:
链接2:Quartz 2D Programming Guide
从“文字”部分下的Quartz 2D Programming Guide绘制文字的快速示例:
void MyDrawText (CGContextRef myContext, CGRect contextRect) // 1
{
float w, h;
w = contextRect.size.width;
h = contextRect.size.height;
CGAffineTransform myTextTransform; // 2
CGContextSelectFont (myContext, // 3
"Helvetica-Bold",
h/10,
kCGEncodingMacRoman);
CGContextSetCharacterSpacing (myContext, 10); // 4
CGContextSetTextDrawingMode (myContext, kCGTextFillStroke); // 5
CGContextSetRGBFillColor (myContext, 0, 1, 0, .5); // 6
CGContextSetRGBStrokeColor (myContext, 0, 0, 1, 1); // 7
myTextTransform = CGAffineTransformMakeRotation (MyRadians (45)); // 8
CGContextSetTextMatrix (myContext, myTextTransform); // 9
CGContextShowTextAtPoint (myContext, 40, 0, "Quartz 2D", 9); // 10
}
以下是代码的作用: