【问题标题】:Add text string to photo when saving to camera roll保存到相机胶卷时向照片添加文本字符串
【发布时间】:2013-06-27 04:10:28
【问题描述】:

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

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

- (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 上的常规搜索中没有出现关于我正在尝试做的事情

【问题讨论】:

    标签: ios objective-c cocoa-touch


    【解决方案1】:

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

    Add Text to UIImage

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

    【讨论】:

    【解决方案2】:

    看看我的代码:

    -(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];
    }
    

    希望对你有所帮助;)

    感谢投票;)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-04
      • 2012-07-22
      • 1970-01-01
      • 2013-04-03
      • 2013-07-18
      • 2012-05-01
      • 2018-09-22
      • 2013-07-22
      相关资源
      最近更新 更多