iOS 이미지에 레이블 또는 워터마크 추가
UIImage+Text.h
#import
@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]];
전재 대상:https://www.cnblogs.com/wxm5558/p/6160946.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.