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

  • 相关阅读:
    2016年 IT 趋势大预测!
    怎样创建合适的告警处理流程?
    如何解决 Java 安全问题?
    程序员:如何成为一个全栈的工程师?
    安全防护:你是否正在追逐一个不可能实现的目标?
    如何使用 Python 创建一个 NBA 得分图?
    如何对 Android 库进行依赖管理?
    减少 WAF 漏报的 8 种方法 !
    第69节:Java中数据库的多表操作
    第69节:Java中数据库的多表操作
  • 原文地址:https://www.cnblogs.com/phnix/p/2673895.html
Copyright © 2011-2022 走看看