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]); 
    }
     
    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 常见知识2
    python 数组
    linux 常见知识
    python入门1
    linux 入门的常见命令
    聊天机器人開發好消息!!DIALOGFLOW與微信的天作之合!!
    群发短信软件共冶一爐
    Ultimate Facebook Messenger for Business Guide (Feb 2019)
    Top 5 Business Messaging Announcements at Facebook F8 2019
    Ultimate Guide to WhatsApp for Business 2019
  • 原文地址:https://www.cnblogs.com/rollrock/p/4547591.html
Copyright © 2011-2022 走看看