1. 程式人生 > >iOS中製作一張水印圖片

iOS中製作一張水印圖片

如果這篇文章幫助到了您,希望您能點選一下喜歡或者評論,你們的支援是我前進的強大動力.謝謝!

我們在很多APP中都會看到水印圖片,例如下面微博中的一張圖片


下面就來分享一下怎麼製作一張水印圖片吧

首先生成水印圖片它最終是生成了一個新的圖片,生成圖片要用到了點陣圖上下文,但是點陣圖上下文需要我們手動建立。

實現水印效果的思路:

1.開啟一個和原始圖片一樣的點陣圖上下文.

2.把原始圖片先繪製到點陣圖上下文.

3.再把要新增的水印(文字,logo)等繪製到點陣圖上下文.

4.最後從上下文中取出一張圖片.

5.關閉點陣圖上下文.

載入要新增水印的圖片

UIImage *image = [UIImage  imageNamed:@"圖片"];

建立一個位圖上下文.

引數size:要開啟一個多大的圖片上下文.

引數opaque:不透明度,當為YES為不透明,為NO的時候透明,

引數scale:是否需要縮放,0代表不縮放

UIGraphicsBeginImageContextWithOptions(image.size, YES, 0);

把要新增水印的圖片繪製到上下文當中.

[image drawAtPoint:CGPointZero];

繪製水印(logo)

NSString *str = @"李小南";

[str drawAtPoint:CGPointMake(50, 100) withAttributes:@{NSFontAttributeName : [UIFont systemFontOfSize:20], NSForegroundColorAttributeName : [UIColor orangeColor]}];

從上下文當中生成一張新圖片.

UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();

關閉上下文.

UIGraphicsEndImageContext();

這樣,新的帶有水印的圖片就做好了,我可以將它寫到桌面

NSData *data = UIImagePNGRepresentation(image);

[data writeToFile:@"/Users/lixiaonan/Desktop/李小南.png"  atomically:YES];