IOS给图片增加水印(图片、文字)

在网上发现很多人使用

CGContextDrawImage(context,CGRectMake(0,0,self.width,self.height),[image CGImage]); //原图
    CGContextDrawImage(context,rect,[mask CGImage]); //水印图

添加水印,图像会颠倒,还需要改变坐标

CGAffineTransform myTr = CGAffineTransformMake(1, 0, 0, -1, 0, self.height);
    CGContextConcatCTM(context, myTr);

其实用drawInRect很方便,图片、文字都可以加

原理可参看前面转的图片相关操作(截取,缩略,翻转。。。。)

做了Category,下载

// 画水印
- (UIImage *) imageWithWaterMask:(UIImage*)mask inRect:(CGRect)rect
{
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 40000
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 4.0)
{
UIGraphicsBeginImageContextWithOptions([self size], NO, 0.0); // 0.0 for scale means "scale for device‘s main screen".
}
#else
if ([[[UIDevice currentDevice] systemVersion] floatValue] < 4.0)
{
UIGraphicsBeginImageContext([self size]);
}
#endif

//原图
[self drawInRect:CGRectMake(0, 0, self.size.width, self.size.height)];
//水印图
[mask drawInRect:rect];

UIImage *newPic = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

return newPic;
}

时间: 2024-10-07 01:23:49

IOS给图片增加水印(图片、文字)的相关文章

阿里云ali-oss图片增加水印

先附上文档连接 : https://helpcdn.aliyun.com/document_detail/44957.html 水印文字或图片必须经过一下转化 URL安全的Base64位编码 在图片处理服务里会有很多参数需要变成Base64位编码,参考RFC4648.注意这里的URL 安全Base64位编码只是用在水印操作某些特定参数(文字水印的文字内容,文字颜色,文字字体及图片水印的水印object)里,不要将其用来签名字符串(Signature)的内容.编码的格式是: 先将内容编码成Base

php对图片加水印--将文字作为水印加到图片

方法代码: /**  * 图片加水印(适用于png/jpg/gif格式)  *  * @author flynetcn  *  * @param $srcImg  原图片  * @param $waterWord 水印文字  * @param $savepath 保存路径  * @param $savename 保存名字  * @param $positon  水印位置  *          1:顶部居左,角度-30度;2:居中,角度30度;3:居中,角度-30度;4:底部居左,角度30度;

图片加水印 图片验证码

图片加水印 1   获取这张图片 System.Drawing.Image img = System.Drawing.Image.FromStream(FileUpload1.FileContent); 2 给图片加水印 Graphics g = Graphics.FromImage(img); string s = "WWW.ITNBA.COM";         s 给图片加的水印文字 Font f = new Font("微软雅黑", 30); Brush b

iOS 给照片加水印,文字

+ (instancetype)waterImageWithText:(UIImage *)img textLogoColor:(NSString *)text1{ /////注:此为后来更改,用于显示中文.zyq,2013-5-8 CGSize size = CGSizeMake(img.size.width, img.size.height);          //设置上下文(画布)大小 UIGraphicsBeginImageContext(size);                 

C#(.net)水印图片的生成

/* * *    使用说明: * 建议先定义一个WaterImage实例 * 然后利用实例的属性,去匹配需要进行操作的参数 * 然后定义一个WaterImageManage实例 * 利用WaterImageManage实例进行DrawImage(),印图片水印 * DrawWords()印文字水印 * -*/ using System; using System.Drawing; using System.Drawing.Imaging; using System.Drawing.Drawin

C#给图片加水印,可设置透明度

C#给图片加水印,可设置透明度,设置水印的位置可以看一下上一篇哈 /// <summary> /// Creating a Watermarked Photograph with GDI+ for .NET /// </summary> /// <param name="rSrcImgPath">原始图片的物理路径</param> /// <param name="rMarkImgPath">水印图片的物理

php给图片加水印

这一篇我们来看看那如何给图片添加水印,其实是把原图片和水印图片合并在一起. 先看文件check_image_addwatermark.php代码 <?php //修改图片效果 $db = mysql_connect('localhost','root','Ctrip07185419') or die('can not connect to database'); mysql_select_db('moviesite',$db) or die(mysql_error($db)); //上传文件的路

php给图片打水印

function watermark($filename,$water){ //获取背景图片的宽度和高度 list($b_w,$b_h) = getimagesize($filename); //获取水印图片的宽度和高度 list($w_w,$w_h) = getimagesize($water); //在背景图片中放水印图片的位置随机起始位置 $posX = rand(0, ($b_w-$w_w)); $posY = rand(0, ($b_h-$w_h)); //创建背景图片的资源 $bac

ASP.NET图片上传,加水印文字和水印图片!

看了清清月儿的这篇文章让自己受益匪浅,但是觉得还有一些问题.上传图片后还有原来的图片文件存在,觉得这样很不爽,调用file类的delete方法删除原来没有生成水印的图片另外自己又加了一个限制图片大小的函数 1.最简单的单文件上传(没花头) 效果图:说明:这是最基本的文件上传,在asp.net1.x中没有这个FileUpload控件,只有html的上传控件,那时候要把html控件转化为服务器控件,很不好用.其实所有文件上传的美丽效果都是从这个FileUpload控件衍生,第一个例子虽然简单却是根本