• 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]];
    

      

  • 相关阅读:
    Spring data jpa使用枚举
    IO
    Tomcat相关问题
    flex中为控件添加监听器并计算
    导出excel
    webService常见问题
    从指定的路径中查找含有特殊字符串的文件
    flex中日期的格式化
    flex与后台及页面间对象的传递
    打印时有选择的打印
  • 原文地址:https://www.cnblogs.com/wxm5558/p/6160946.html
Copyright © 2020-2023  润新知