iOS 给照片加水印,文字
来源:互联网 发布:文案策划软件 编辑:程序博客网 时间:2024/05/06 11:01
+ (instancetype)waterImageWithText:(UIImage *)img textLogoColor:(NSString *)text1{
/////注:此为后来更改,用于显示中文。zyq,2013-5-8
CGSize size = CGSizeMake(img.size.width, img.size.height); //设置上下文(画布)大小
UIGraphicsBeginImageContext(size); //创建一个基于位图的上下文(context),并将其设置为当前上下文
CGContextRef contextRef = UIGraphicsGetCurrentContext(); //获取当前上下文
CGContextTranslateCTM(contextRef, 0, img.size.height); //画布的高度
CGContextScaleCTM(contextRef, 1.0, -1.0); //画布翻转
CGContextDrawImage(contextRef, CGRectMake(0, 0, img.size.width, img.size.height), [img CGImage]); //在上下文种画当前图片
[[UIColor whiteColor] set]; //上下文种的文字属性
CGContextTranslateCTM(contextRef, 0, img.size.height);
CGContextScaleCTM(contextRef, 1.0, -1.0);
UIFont *font = [UIFont boldSystemFontOfSize:30];
//[text1 drawInRect:CGRectMake(0, 0, 200, 80) withFont:font]; //此处设置文字显示的位置
//[text1 drawInRect:CGRectMake(120, img.size.height-40, img.size.width-80, 40) withAttributes:[NSDictionary dictionaryWithObjectsAndKeys:font,NSFontAttributeName, nil]];
[text1 drawInRect:CGRectMake(120, img.size.height-40, img.size.width-80, 40) withFont:font];
UIImage *targetimg =UIGraphicsGetImageFromCurrentImageContext(); //从当前上下文种获取图片
UIGraphicsEndImageContext(); //移除栈顶的基于当前位图的图形上下文。
return targetimg;
}
+ (instancetype)waterImageWithImage:(UIImage *)bgImage logo:(NSString *)logo{
UIGraphicsBeginImageContextWithOptions(bgImage.size, NO, 0.0);// 1.创建一个基于位图的上下文
[bgImage drawInRect:CGRectMake(0, 0, bgImage.size.width, bgImage.size.height)];// 2.画背景
UIImage *waterImage = [UIImage imageNamed:logo];// 3.画左下角的水印
CGFloat scale = 1;
CGFloat margin = 5;
CGFloat waterW = waterImage.size.width * scale;
CGFloat waterH = waterImage.size.height * scale;
CGFloat waterX = 0;
CGFloat waterY = bgImage.size.height - waterH - margin;
[waterImage drawInRect:CGRectMake(waterX, waterY, waterW, waterH)];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();//4.从上下文中取得制作完毕的UIImage对象
UIGraphicsEndImageContext();// 5.结束上下文、
return newImage;
}
+ (instancetype)waterImageWithText:(UIImage *)img textLogo:(NSString *)text1{
CGSize size=CGSizeMake(img.size.width, img.size.height);
UIGraphicsBeginImageContext(size);
CGContextRef contextRef=UIGraphicsGetCurrentContext();//上下文
//转换矩阵
CGContextTranslateCTM(contextRef, 0, img.size.height);//画布的高度.移动函数
CGContextScaleCTM(contextRef, 1.0, -1.0);//缩放函数
CGContextDrawImage(contextRef,CGRectMake(0,0,img.size.width,img.size.height),[img CGImage]);//在上下文种画当前图片
[[UIColor redColor] set]; //上下文种的文字属性
CGContextTranslateCTM(contextRef, 0, img.size.height);
CGContextScaleCTM(contextRef, 1.0, -1.0);
UIFont *font = [UIFont boldSystemFontOfSize:30];
[text1 drawInRect:CGRectMake(120, img.size.height-40, img.size.width-80, 40) withAttributes:[NSDictionary dictionaryWithObjectsAndKeys:font,NSFontAttributeName, nil]];
UIImage *targetimg =UIGraphicsGetImageFromCurrentImageContext();//从当前上下文种获取图片
UIGraphicsEndImageContext();
return targetimg;
}
- iOS 给照片加水印,文字
- 给图片加文字水印
- java给图片加水印,文字水印
- 图像叠加 给照片加水印
- OpenCV2 图像叠加 给照片加水印
- iOS 给图片加水印
- java给图片加水印和文字
- android 给图片加文字水印
- php给图片加文字水印
- CxImage给图片加水印文字
- Quartz2D - 给图片加文字水印
- Android-给图片加文字水印
- PHP实现给图片加文字水印
- java给图片加文字水印
- iOS给照片添加水印效果
- PHP给图片加文字水印和图片水印
- iOS中给图片加水印或文字的几种方法
- ios图片加水印或文字
- php数组排序(可升降序)
- Android sqlite数据库操作卡顿解决办法
- eclipse快捷键及各种设置
- 应用集成UMeng,分享二维码到微信朋友和朋友圈
- 内存管理(Core Foundation object和Objective - C转换)__bridge,__bridge_retained和__bridge_transfer
- iOS 给照片加水印,文字
- C/C++中extern关键字详解
- 将JAR包反编译,修改后重新打包
- [leetcode]First Missing Positive
- CSS + DIV 使用方法总结
- OC基础--字符串
- hash查找
- rsync的几种优化应用方案
- Object-C 预定义标识符