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

      

  • 相关阅读:
    深度解析U-Boot网络实现(长篇好文)
    优化嵌入式Linux的启动时间之内核
    优化嵌入式Linux的启动时间之文件系统
    Java安全之 ClassLoader类加载器
    Java 审计之xss审计要点
    Java审计之命令执行篇
    Java审计之文件操作漏洞
    Java 审计 之过滤器防御xss
    Java 审计之SSRF篇(续)
    Java 审计之SSRF篇
  • 原文地址:https://www.cnblogs.com/wxm5558/p/6160946.html
Copyright © 2011-2022 走看看