zoukankan      html  css  js  c++  java
  • ios图片加水印或文字

    1.加文字

    -(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);
        return [UIImage imageWithCGImage:imageMasked];
    }

    2.加图片

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

    ps:转自http://www.oschina.net/code/snippet_54100_4071

  • 相关阅读:
    洛谷 P1494 [国家集训队]小Z的袜子 /【模板】莫队
    洛谷 P2801 教主的魔法
    数据库三范式
    vi和vim三种常见模式
    linux目录结构的具体介绍
    Linux怎么用root用户登录
    虚拟机的网络连接的三种方式
    事务
    数据库存储引擎
    delete和truncate
  • 原文地址:https://www.cnblogs.com/phnix/p/2673895.html
Copyright © 2011-2022 走看看