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) 格式轉換 新增水印 圖片壓縮 圖片裁剪 圖片旋轉 圖片縮放
- ios裁剪圖片iOS
- 批次圖片新增水印
- octobercms 圖片裁剪外掛
- Java 圖片裁剪,擷取Java
- Web端裁剪圖片方法Web
- JAVA實現圖片裁剪Java
- Python批次裁剪圖片Python
- 轉:Java新增水印(圖片水印,文字水印)Java
- 『ios』view和tableview的截圖和圖片拼接iOSView
- iOS 圖片上新增水印iOS
- Python網頁截圖/螢幕截圖/截長圖如何實現?Python網頁
- GD 庫 PNG 透明底圖片新增文字及圖片水印
- Android 開源圖片裁剪工具、圖片顯示工具分享Android
- SPX螢幕截圖軟體
- iOS螢幕截圖的方法iOS
- .NET 視窗/螢幕截圖
- Vue圖片裁剪上傳元件Vue元件
- 商品圖片批量加水印,一鍵新增文字、logo圖片水印方法分享Go
- Ueditor上傳圖片自動新增水印(通用圖片檔案)
- windows10怎樣裁剪圖片_Win10如何使用自帶工具裁剪圖片WindowsWin10
- 自己積累的一些Emgu CV程式碼(主要有圖片格式轉換,圖片裁剪,圖片翻轉,圖片旋轉和圖片平移等功能)
- Flutter學習 —- 螢幕截圖和高斯模糊Flutter
- Flutter學習 ---- 螢幕截圖和高斯模糊Flutter
- HttpHandler給本站加圖片水印HTTP
- java 圖片水印處理類Java
- 設定背景圖片鋪滿整個螢幕
- BMP圖片的複製#顯示到螢幕
- Snagit Mac螢幕截圖/捕獲、編輯圖片2021\2022(中文版)GitMac
- selenium實現螢幕截圖
- iSnapshot for Mac螢幕截圖工具Mac
- android 螢幕截圖原始碼Android原始碼
- mac蘋果螢幕截圖快捷鍵Mac蘋果
- Nginx Image Module圖片縮圖 水印處理模組Nginx
- intervention/image 伺服器圖片裁剪伺服器
- 圖片裁剪上傳示例(node + react)React
- vue專案新增圖片裁剪元件Vue元件
- 圖片裁剪-文字識別-文字新增