• 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]); 
    }
     
    3.加半透明的水印
    - (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;   
    }
  • 相关阅读:
    linux下利用elk+redis 搭建日志分析平台教程
    C# 短信发送 邮件发送
    面向对象编程思想-装饰模式
    面向对象编程思想-桥接模式
    面向对象编程思想-适配器模式
    面向对象编程思想-原型模式
    面向对象编程思想-建造者模式
    面向对象编程思想-抽象工厂模式
    面向对象编程思想-工厂方法模式
    面向对象编程思想-简单工厂模式
  • 原文地址:https://www.cnblogs.com/rollrock/p/4547591.html
Copyright © 2020-2023  润新知