ios给图片加文字,加水印等

 

-(UIImage *)addText:(UIImage *)img text:(NSString *)text1

{

    //get image width and height

    int w = img.size.width;

    int h = img.size.height;

    CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();

    //create a graphic context with CGBitmapContextCreate

    CGContextRef context = CGBitmapContextCreate(NULL, w, h, 8, 4 * w, colorSpace, kCGImageAlphaPremultipliedFirst);

    CGContextDrawImage(context, CGRectMake(0, 0, w, h), img.CGImage);

    CGContextSetRGBFillColor(context, 0.0, 1.0, 1.0, 1);

    char* text = (char *)[text1 cStringUsingEncoding:NSASCIIStringEncoding];

    CGContextSelectFont(context, "Georgia", 30, kCGEncodingMacRoman);

    CGContextSetTextDrawingMode(context, kCGTextFill);

    CGContextSetRGBFillColor(context, 255, 0, 0, 1);

    CGContextShowTextAtPoint(context, w/2-strlen(text)*5, h/2, text, strlen(text));

    //Create image ref from the context

    CGImageRef imageMasked = CGBitmapContextCreateImage(context);

    CGContextRelease(context);

    CGColorSpaceRelease(colorSpace);

    self.myImageView.image = [UIImage imageWithCGImage:imageMasked];

    return [UIImage imageWithCGImage:imageMasked];

}

 

-(UIImage *)addImageLogo:(UIImage *)img text:(UIImage *)logo

{

    //get image width and height

    int w = img.size.width;

    int h = img.size.height;

    int logoWidth = logo.size.width;

    int logoHeight = logo.size.height;

    CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();

    //create a graphic context with CGBitmapContextCreate

    CGContextRef context = CGBitmapContextCreate(NULL, w, h, 8, 4 * w, colorSpace, kCGImageAlphaPremultipliedFirst);

    CGContextDrawImage(context, CGRectMake(0, 0, w, h), img.CGImage);

    CGContextDrawImage(context, CGRectMake(w-logoWidth, 0, logoWidth, logoHeight), [logo CGImage]);

    CGImageRef imageMasked = CGBitmapContextCreateImage(context);

    CGContextRelease(context);

    CGColorSpaceRelease(colorSpace);

    return [UIImage imageWithCGImage:imageMasked];

    //  CGContextDrawImage(contextRef, CGRectMake(100, 50, 200, 80), [smallImg CGImage]);

}

 

- (UIImage *)addImage:(UIImage *)useImage addImage1:(UIImage *)addImage1

{

    UIGraphicsBeginImageContext(useImage.size);

    [useImage drawInRect:CGRectMake(0, 0, useImage.size.width, useImage.size.height)];

    [addImage1 drawInRect:CGRectMake(0, useImage.size.height-addImage1.size.height, addImage1.size.width, addImage1.size.height)];

    UIImage *resultingImage = UIGraphicsGetImageFromCurrentImageContext();

    UIGraphicsEndImageContext();

    return resultingImage;

}

猜你喜欢

转载自zhangmingwei.iteye.com/blog/1942064