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

      

  • 相关阅读:
    数据库的存储过程、数据库设计范式、数据库关系
    谈谈窗体之间的数据交互
    hdu2141AC代码分享
    参考C++STL标准库中对了的使用方法
    背包类问题解答——poj3624分析
    ACM第一天研究懂的AC代码——BFS问题解答——习题zoj2165
    洛谷——P2483 [SDOI2010]魔法猪学院
    洛谷——P2822 组合数问题
    COGS——T 2739. 凯伦和咖啡
    洛谷—— P3225 [HNOI2012]矿场搭建
  • 原文地址:https://www.cnblogs.com/wxm5558/p/6160946.html
Copyright © 2020-2023  润新知