我正在创建一个通过电子邮件发送照片的应用程序,我已经创建了图库,现在我希望我的应用程序可以在该照片上写文字并通过电子邮件发送。有什么建议么?教程是可以接受的。
user1541029
问问题
101 次
2 回答
1
最简单但很棘手,UIView
在 aUIImageView
和 a中添加一个,用andUILabel
更新。现在在此处截取屏幕截图。并将其附在您的电子邮件中。yourimage
text
UIImage
于 2012-10-16T11:14:37.330 回答
0
您可以使用图像创建 UIImageView,然后将具有清晰背景的 UILabel 放置在图像视图上,最后使用 Core Graphics 制作 UIImage。像这样的东西:
UIImage *bcg = [UIImage imageNamed:@"image.png"];
UIImageView *imgView = [[UIImageView alloc] initWithImage:bcg];
imgView.frame = CGRectZero;//Some frame
[self addSubview:imgView];
[imgView release];
UILabel *text = [[UILabel alloc] initWithFrame:CGRectMake(0, imgView.frame.size.height - 20, imgView.frame.size.width, 20)];
text.backgroundColor = [UIColor clearColor];
text.text = @"Some text";
[imgView addSubview:text];
UIImage *resultImage = nil;
UIGraphicsBeginImageContext(CGSizeMake(self.bounds.size.width,
self.bounds.size.height));
[self.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
CGSize imageSize = CGSizeMake(self.bounds.size.width,
self.bounds.size.height);
UIGraphicsBeginImageContext(imageSize);
[viewImage drawInRect:CGRectMake(0,
0,
imageSize.width,
imageSize.height)
blendMode:kCGBlendModeNormal alpha:1];
resultImage = UIGraphicsGetImageFromCurrentImageContext();
这种方法比在上下文中绘制图像和文本更容易调试。
于 2012-10-16T11:13:08.520 回答