我正在创建一个在电子邮件上发送照片的应用,我已创建了图库,现在我希望我的应用可以在该照片上写文字并通过电子邮件发送。有什么建议?教程是可以接受的。
答案 0 :(得分:1)
最简单但很棘手,在UIView
和UIImageView
内添加UILabel
,使用yourimage
和text
进行更新。现在,通过捕获屏幕截图here.获取UIImage
并将其附加到您的电子邮箱中。
答案 1 :(得分: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();
此方法比在上下文中绘制图像和文本更容易调试。