zoukankan      html  css  js  c++  java
  • iOS图片上加标签或者水印

    直接贴代码吧

    UIImage+Text.h

    #import <UIKit/UIKit.h>
    
    @interface UIImage (Text)
    
    - (UIImage*)addText:(NSString*)text1
                   XPos:(int)xpos
                   YPos:(int)ypos
               fontName:(NSString*)fontName
               fontSize:(CGFloat)fontSize
              fontColor:(UIColor*)fontColor;
    
    @end
    

      UIImage+Text.m

    #import "UIImage+Text.h"
    
    @implementation UIImage (Text)
    
    - (UIImage*)addText:(NSString*)text1
                   XPos:(int)xpos
                   YPos:(int)ypos
               fontName:(NSString*)fontName
               fontSize:(CGFloat)fontSize
              fontColor:(UIColor*)fontColor {
        
        int w = self.size.width;
        int h = self.size.height;
    	
        CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
        CGContextRef context = CGBitmapContextCreate(NULL, w, h, 8, 4 * w, colorSpace, kCGImageAlphaPremultipliedFirst);
        
        CGContextDrawImage(context, CGRectMake(0, 0, w, h), self.CGImage);
        CGContextSetRGBFillColor(context, 0.0, 0.0, 1.0, 1);
    	
        char *txt = (char*)[text1 cStringUsingEncoding:NSUTF8StringEncoding];
        char *font = (char*)[fontName cStringUsingEncoding:NSUTF8StringEncoding];
        
        CGContextSelectFont(context, font, fontSize, kCGEncodingMacRoman);
        CGContextSetTextDrawingMode(context, kCGTextFill);
        CGContextSetFillColorWithColor(context, fontColor.CGColor);
        CGContextShowTextAtPoint(context, xpos, ypos, txt, strlen(txt));
        
    	CGImageRef imageRef = CGBitmapContextCreateImage(context);
    	CGContextSetAllowsAntialiasing(context, YES);
    	
    	UIImage *result = [UIImage imageWithCGImage:imageRef];
    	
    	CGImageRelease(imageRef);
        CGContextRelease(context);
        CGColorSpaceRelease(colorSpace);
    	
        return result;
    }
    
    @end
    

     调用举例

     UIImage *img = [UIImage imageNamed:@"image.jpg"];
        image.image = [img addText:text.text
                              XPos:80
                              YPos:300
                          fontName:@"Georgia-Bold"
                          fontSize:46.0
                         fontColor:[UIColor whiteColor]];
    

      

  • 相关阅读:
    【LeetCode 41】缺失的第一个正数
    【LeetCode 38】报数
    Scrum立会报告+燃尽图 04
    Scrum立会报告+燃尽图 03
    Scrum立会报告+燃尽图 02
    20191017-2 alpha week 2/2 Scrum立会报告+燃尽图 01
    作业要求20191010-9 alpha week 1/2 Scrum立会报告+燃尽图 07
    20191010-8 alpha week 1/2 Scrum立会报告+燃尽图 06
    Alpha阶段贡献分配规则
    选题 Scrum立会报告+燃尽图 05
  • 原文地址:https://www.cnblogs.com/wxm5558/p/6160946.html
Copyright © 2011-2022 走看看