1

保存到相机胶卷时是否可以向图像添加文本字符串?

例如照片被拍摄并保存到相机胶卷:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{


UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];
UIImageWriteToSavedPhotosAlbum(image, nil,@selector(image:didFinishSavingWithError:contextInfo:), nil);

  //something here to add @"my pre defined text"; to saved image


}

如果可能,我想在没有任何用户输入的情况下自动向此保存的图像添加预定义的文本?

关于我正在尝试做的事情,在 SO 和 Google 上的常规搜索中没有出现任何内容

4

2 回答 2

1

看看我的代码:

-(UIImage *)addText:(UIImage *)img text:(NSString *)text1
{
    int w = img.size.width;
    int h = img.size.height; 
    CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
    CGContextRef context = CGBitmapContextCreate(NULL, w, h, 8, 4 * w, colorSpace, kCGImageAlphaPremultipliedFirst);

    CGContextDrawImage(context, CGRectMake(0, 0, w, h), img.CGImage);
    CGContextSetRGBFillColor(context, 0.0, 0.0, 1.0, 1);

    char* text = (char *)[text1 cStringUsingEncoding:NSASCIIStringEncoding];
    CGContextSelectFont(context, "Arial", 18, kCGEncodingMacRoman);
    CGContextSetTextDrawingMode(context, kCGTextFill);

    CGContextSetRGBFillColor(context, 255, 255, 255, 2);

    CGContextShowTextAtPoint(context, 10, 170, text, strlen(text));

    CGImageRef imageMasked = CGBitmapContextCreateImage(context);
    CGContextRelease(context);
    CGColorSpaceRelease(colorSpace);

    return [UIImage imageWithCGImage:imageMasked];
}

并改进:

- (IBAction)drawImage:(id)sender {
    NSString *text1 = myTextField.text;
    UIImage *updatedImg = [self addText:myImageView.image text:text1]; 
    [myImageView setImage: updatedImg];
}

我希望这对你有帮助;)

谢谢投票;)

于 2013-06-29T14:04:35.070 回答
0

这个问题似乎可以满足您的需求:

向 UIImage 添加文本

也许忽略相机动作和相机胶卷,你真正想做的就是向 UIImage 添加一个字符串。

于 2013-06-29T13:39:20.017 回答