iOS-圖片水印,圖片裁剪和螢幕截圖
一.圖片水印
1.建立個UIImageView
@property (weak, nonatomic) IBOutlet UIImageView *neImage;
2.建立個方法實現水印功能
- (void)viewDidLoad {
[super viewDidLoad];
UIImage *bgImage = [UIImage imageNamed:@""];
//建立一個點陣圖上下文
UIGraphicsBeginImageContextWithOptions(bgImage.size, NO, 0.0);
//將背景圖片畫入點陣圖中
[bgImage drawInRect:CGRectMake(0, 0, bgImage.size.width, bgImage.size.height)];
//將水印Logo畫入背景圖中
UIImage *waterIma = [UIImage imageNamed:@""];
[waterIma drawInRect:CGRectMake(bgImage.size.width - 40 - 5, bgImage.size.height - 40 - 5, 40, 40)];
//取得點陣圖上下文中建立的新的圖片
UIImage *newimage = UIGraphicsGetImageFromCurrentImageContext();
//結束上下文
UIGraphicsEndImageContext();
//在建立的ImageView上顯示出新圖片
self.neImage.image = newimage;
//壓縮新照片為PNG格式的二進位制資料
NSData *data = UIImagePNGRepresentation(newimage);
//將圖片寫入到手機儲存中
NSString *path = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject] stringByAppendingPathComponent:@"new.png"];
[data writeToFile:path atomically:YES];
}
二.圖片裁剪
//1.載入原圖
UIImage *oldImage = [UIImage imageNamed:@"me"];
//2.獲取點陣圖上下文
CGFloat bigCic = oldImage.size.width + 2 * 2;
UIGraphicsBeginImageContextWithOptions(CGSizeMake(bigCic, bigCic), NO, 0.0);
//3.畫大圓
[[UIColor whiteColor] set];
CGContextRef ctx = UIGraphicsGetCurrentContext();
CGContextAddArc(ctx, bigCic * 0.5, bigCic * 0.5, bigCic * 0.5, 0, M_PI * 2, 0);
CGContextFillPath(ctx);
//4.畫小圓
CGFloat smallCic = oldImage.size.width * 0.5;
CGContextAddArc(ctx, bigCic * 0.5 , bigCic * 0.5, smallCic, 0, M_PI * 2, 0);
CGContextClip(ctx);
//5.畫圖
[oldImage drawInRect:CGRectMake(2, 2, oldImage.size.width, oldImage.size.height)];
//6.獲取新圖
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
//7.結束上下文
UIGraphicsEndImageContext();
//8.顯示新圖
self.IconView.image = newImage;
//9.寫入到手機儲存
NSData *data = UIImagePNGRepresentation(newImage);
NSString *path = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject] stringByAppendingPathComponent:@"newClip.png"];
[data writeToFile:path atomically:YES];
三,螢幕截圖
//1.開啟點陣圖上下文
UIGraphicsBeginImageContextWithOptions(self.view.frame.size, NO, 0.0);
//2.渲染截圖
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
//3.獲取新圖
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
//4.寫入到手機儲存
NSData *data = UIImagePNGRepresentation(newImage);
NSString *path = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject] stringByAppendingPathComponent:@"newClip.png"];
[data writeToFile:path atomically:YES];
//5.關閉上下文
UIGraphicsEndImageContext();
相關文章
- 開源圖片工具箱(Img Toolbox) 格式轉換 新增水印 圖片壓縮 圖片裁剪 圖片旋轉 圖片縮放
- 怎麼裁剪圖片?PerfectlyClear Complete裁剪圖片的方法
- Snagit Mac螢幕截圖/捕獲、編輯圖片2021\2022(中文版)GitMac
- 背景圖片,banner圖片隨螢幕大小變化而變化
- Python批次裁剪圖片Python
- 裁剪上傳圖片
- 批次圖片新增水印
- Python網頁截圖/螢幕截圖/截長圖如何實現?Python網頁
- octobercms 圖片裁剪外掛
- Java 圖片裁剪,擷取Java
- 『ios』view和tableview的截圖和圖片拼接iOSView
- GD 庫 PNG 透明底圖片新增文字及圖片水印
- 商品圖片批量加水印,一鍵新增文字、logo圖片水印方法分享Go
- iSnapshot for Mac螢幕截圖工具Mac
- SPX螢幕截圖軟體
- .NET 視窗/螢幕截圖
- selenium實現螢幕截圖
- Vue圖片裁剪上傳元件Vue元件
- windows10怎樣裁剪圖片_Win10如何使用自帶工具裁剪圖片WindowsWin10
- Ueditor上傳圖片自動新增水印(通用圖片檔案)
- Flutter學習 ---- 螢幕截圖和高斯模糊Flutter
- Flutter學習 —- 螢幕截圖和高斯模糊Flutter
- HttpHandler給本站加圖片水印HTTP
- java 圖片水印處理類Java
- BMP圖片的複製#顯示到螢幕
- 設定背景圖片鋪滿整個螢幕
- 【326】PIL 截圖及圖片識別
- Mac螢幕截圖工具——iSnapshot for MacMac
- Snagit 2022 for Mac(螢幕截圖工具)GitMac
- TechSmith Snagit 2022螢幕截圖工具MITGit
- 螢幕截圖工具Snagit 2022 macGitMac
- intervention/image 伺服器圖片裁剪伺服器
- 圖片裁剪上傳示例(node + react)React
- python 裁剪圖片;位深度不變Python
- 圖片裁剪-文字識別-文字新增
- vue專案新增圖片裁剪元件Vue元件
- 小米Play如何截圖截圖?小米Play手機多種螢幕截圖方法介紹
- 呼叫系統檔案管理器選擇圖片,呼叫系統裁剪AIP對圖片處理,顯示裁剪之後的圖片...AI
- C# 截圖並儲存為圖片C#