ios 為圖片加上水印詳解
阿新 • • 發佈:2019-02-15
在客戶端為圖片加上水印會浪費效能,如果圖片多的話儘量把圖片放在伺服器端生成吧
+(instancetype)watermarkWithImage:(NSString *)imageName logo:(NSString *)logoName { UIImage *image = [UIImage imageNamed:imageName]; //建立一個基於點陣圖的上下文 UIGraphicsBeginImageContextWithOptions(image.size, NO, 0.0); //將原始圖片畫出來 [image drawInRect:CGRectMake(0, 0, image.size.width, image.size.height)]; //水印圖示 UIImage *logo = [UIImage imageNamed:logoName]; //水印的大小和位置 CGFloat scale = 0.2; CGFloat margin = 5; CGFloat logoW = logo.size.width * scale; CGFloat logoH = logo.size.height * scale; CGFloat logoX = image.size.width - logoW - margin; CGFloat logoY = image.size.height - logoH - margin; //將水印畫出來 [logo drawInRect:CGRectMake(logoX, logoY, logoW, logoH)]; //從上下文中取出畫好的圖片 UIImage *resultImage = UIGraphicsGetImageFromCurrentImageContext(); //關閉點陣圖上下文 UIGraphicsEndImageContext(); return resultImage; }