iOS图片加水印效果的实现并保存至相冊



图片加水印效果的实现并保存至相冊

实现效果如图:



project下载:githubproject下载链接



代码:

- (void)viewDidLoad {
    [super viewDidLoad];

    UIImage *image = [UIImage imageNamed:@"pushu.jpg"];
    UIImage *waterImage = [self waterMarkImage:image withText:@"朴树水印測试"];

    UIImageWriteToSavedPhotosAlbum(waterImage, nil, nil, nil);  //保存图片至相冊

//    展示图片
    UIImageView *imageView = [[UIImageView alloc] initWithFrame:self.view.bounds];
    imageView.image = waterImage;
    [self.view addSubview:imageView];

    // Do any additional setup after loading the view, typically from a nib.
}
- (UIImage *)waterMarkImage:(UIImage *)image withText:(NSString *)text {
    UIGraphicsBeginImageContext(image.size);

//    在画布中绘制内容
    [image drawInRect:CGRectMake(0, 0, image.size.width, image.size.height)];

//    绘制文字
    [[UIColor darkGrayColor] set];
    CGRect rect = CGRectMake(70, 220, 200, 60);
    NSDictionary *dic = @{NSFontAttributeName:[UIFont systemFontOfSize:30],
                          NSObliquenessAttributeName:@1};       //这里设置了字体,和倾斜度。具体其它參数文章结尾有具体说明的文章链接
    [text drawInRect:rect withAttributes:dic];

    //在iOS7之前用下列方法比較方便
//    [text drawInRect:rect withFont:[UIFont systemFontOfSize:30] lineBreakMode:NSLineBreakByWordWrapping alignment:NSTextAlignmentCenter];

//    从画布中得到image
    UIImage *returnImage = UIGraphicsGetImageFromCurrentImageContext();

    UIGraphicsEndImageContext();

    return returnImage;
}

- (void)drawInRect:(CGRect)rect withAttributes:(NSDictionary *)attrs NS_AVAILABLE_IOS(7_0);

关于此方法,在iOS7以后应用。attrs设置參数的具体说明在例如以下链接文章中:

说明文章链接:attrs參数说明文章

时间: 2024-10-03 17:25:25

iOS图片加水印效果的实现并保存至相冊的相关文章

图片加水印效果

<div id="divpic" class="portlet" style="position: absolute; width: 600px; left: 50%; margin-left: -300px; z-index: 999; top: 788.273px; display: block;"> <img id="imgdiffrent" src="/20151015/1644012487

文件上传,图片加水印

文件上传: 所用控件:FileUpload 使用时的思路: 1.判断用户是否选中了文件 FileUpload.FileName获取选中的文件名,判断长度,如果长度大于零就代表已经选择了文件 JS端:通过ID获取控件,然后控件的value获取选中的文件名 2.将文件保存到服务器上 FileUpload.SaveAs("绝对路径"); 3.获得绝对路径 先编写相对路径:比如"UpLoads/abc.txt" 再把路径映射成绝对路径:Server.MapPath(&quo

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

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

图片上传,图片加水印,验证码制作

文件上传: 所用控件:FileUpload 使用时的思路: 1.判断用户是否选中了文件 FileUpload.FileName获取选中的文件名,判断长度,如果长度大于零就代表已经选择了文件 JS端:通过ID获取控件,然后控件的value获取选中的文件名 2.将文件保存到服务器上 FileUpload.SaveAs("绝对路径"); 3.获得绝对路径 先编写相对路径:比如"UpLoads/abc.txt" 再把路径映射成绝对路径:Server.MapPath(&quo

Thumbnails为图片加水印

在JAVA中使用Thumbnails为图片加水印 将D盘下面的cat.jpg作为水印加在2.jpg上面,输出新的图片2_cat.jpg到D盘下面 1.java类 import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; import net.coobird.thumbnailator.Thumbnails; import net.coobird.thumbnailator.geometry.Pos

iOS 图片加载框架-SDWebImage 解读

前段时间,美团开源了mpvue这个项目,使得我们又多了一种用来开发小程序的框架选项.由于mpvue框架是完全基于Vue框架的(重写了其runtime和compiler),因此在用法上面是高度和Vue一致的(某些功能由于受限于小程序环境本身的原因而不能使用),这给使用过Vue开发Web应用的前端开发者提供了极低的切换门槛来开发小程序. iOS 图片加载框架-SDWebImage 解读如果之前还未曾用过Vue这个框架的话,建议你可以 加我们QQ群668041364,一起交流学习 起手式:必要的开发环

thinkphp 3.2.3整合ueditor 1.4,给上传的图片加水印

今天分享一下thinkphp 3.2.3整合ueditor 1.4,给上传的图片加水印.博主是新手,在这里卡住了很久(>_<) thinkphp 3.2.3整合ueditor 1.4 下载地址:https://github.com/Nintendov/Ueditor-thinkphp 下载下来,看着配置就可以了. 下面就是给上传图片加水印: (在做这步前,请确保ueditor已经正常工作) 我的工程目录如下: fonts里面的fz.fft为水印字体 images里面的logo.png为水印图片

CSS鼠标悬停图片加边框效果,不位移的方法

<!DOCTYPE HTML> <html lang="en-US"> <head> <title>css实现鼠标悬停时图片加边框效果</title> <style type="text/css"> body{background:#222;color:#06c;} em{ font-style:inherit;} img{background:white;margin:0 5px;width:

java 图片加水印,设置透明度。说明很详细

package com.yidao.common; import java.awt.AlphaComposite; import java.awt.Graphics2D; import java.awt.Image; import java.awt.RenderingHints; import java.awt.image.BufferedImage; import java.io.File; import java.io.FileOutputStream; import java.io.Out