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;   
    }
  • 相关阅读:
    python基础-sort和sorted
    python基础-网络基础知识和网络编程
    python基础05--字符串常用方法
    python基础14-内置函数和匿名函数
    python基础13-迭代器和生成器
    python基础10——函数初识
    python基础09_文件操作
    python基础03——数据类型string
    python基础02—raw_input()和input()的区别
    R语言-变量聚类
  • 原文地址:https://www.cnblogs.com/fgyqbs/p/4334438.html
Copyright © 2011-2022 走看看