0

我正在创建一个通过电子邮件发送照片的应用程序,我已经创建了图库,现在我希望我的应用程序可以在该照片上写文字并通过电子邮件发送。有什么建议么?教程是可以接受的。

4

2 回答 2

1

最简单但很棘手,UIView在 aUIImageView和 a中添加一个,用andUILabel更新。现在在此处截取屏幕截图并将其附在您的电子邮件中。yourimagetextUIImage

于 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 回答