iOS SDK写在UIImage上绘制文本

时间:2011-11-30 11:12:12

标签: iphone ios xcode sdk uiimage

在图像上写文字的代码:

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

在我为myTextField创建ColorPicker后,它运行良好,现在我可以选择textField的颜色。

如何在上面的第一个代码中使用相同颜色的myTextField?

//this is the code color for drawing text    

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

//how can change this to get the color by myTextField?

任何人都可以帮助我。

THX。

// --------------------------------------------- -----------------------------------

您好,我需要解决方案:(

尝试更好地解释:

总之,我将按myTextField.textColor选择颜色信息,并在UIImage代码中报告,以便在图像上执行彩色文字。

THX。

0 个答案:

没有答案