iOS-為圖像添加水印效果

/**    
  * 加文字隨意@param logoImage 需要加文字的圖片@param watemarkText 文字描述@returns 加好文字的圖片 
  */
- (UIImage *)addWatemarkTextAfteriOS7_WithLogoImage:(UIImage *)logoImage watemarkText:(NSString *)watemarkText{    
    int w = logoImage.size.width;    
    int h = logoImage.size.height;    
    UIGraphicsBeginImageContext(logoImage.size);
    [[UIColor whiteColor] set];
    [logoImage drawInRect:CGRectMake(0, 0, w, h)];
    UIFont * font = [UIFont systemFontOfSize:18.0];
    [watemarkText drawInRect:CGRectMake(10, 55, 130, 80) withAttributes:@{NSFontAttributeName:font,NSForegroundColorAttributeName:[UIColor whiteColor]}];
    UIImage * newImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return newImage;
}
/**
  * 加圖片水印@param logoImage 需要加水印的logo圖片@param watemarkImage 水印圖片@returns 加好水印的圖片 
  */
- (UIImage *)addWatemarkImageWithLogoImage:(UIImage *)logoImage watemarkImage:(UIImage *)watemarkImage logoImageRect:(CGRect)logoImageRect watemarkImageRect:(CGRect)watemarkImageRect{    
    // 創(chuàng)建一個(gè)graphics context來畫我們的東西    
    UIGraphicsBeginImageContext(logoImageRect.size);    
    // graphics context就像一張能讓我們畫上任何東西的紙。我們要做的第一件事就是把person畫上去    
    [logoImage drawInRect:CGRectMake(0, 0, logoImageRect.size.width, logoImageRect.size.height)];    
    // 然后在把hat畫在合適的位置    
    [watemarkImage drawInRect:CGRectMake(watemarkImageRect.origin.x, watemarkImageRect.origin.y, watemarkImageRect.size.width, watemarkImageRect.size.height)];    
    // 通過下面的語句創(chuàng)建新的UIImage    
    UIImage * newImage = UIGraphicsGetImageFromCurrentImageContext();    
   // 最后,我們必須得清理并關(guān)閉這個(gè)再也不需要的context    
    UIGraphicsEndImageContext();
    return newImage;
}
/**
  * 加半透明水印@param logoImage 需要加水印的圖片@param translucentWatemarkImage 水印@returns 加好水印的圖片 
  */
- (UIImage *)addWatemarkImageWithLogoImage:(UIImage *)logoImage translucentWatemarkImage:(UIImage *)translucentWatemarkImage logoImageRect:(CGRect)logoImageRect translucentWatemarkImageRect:(CGRect)translucentWatemarkImageRect{    
    UIGraphicsBeginImageContext(logoImage.size);    [logoImage drawInRect:CGRectMake(0, 0, logoImage.size.width, logoImage.size.height)];       
    // 四個(gè)參數(shù)為水印的位置    
    [translucentWatemarkImage drawInRect:CGRectMake(logoImage.size.width - 110, logoImage.size.height - 25, 100, 25)];    
    UIImage * resultingImage = UIGraphicsGetImageFromCurrentImageContext();    
    UIGraphicsEndImageContext();    
    return resultingImage;
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 轉(zhuǎn)載請聯(lián)系作者獲取授權(quán),并標(biāo)明文章作者,謝謝! 核心技術(shù):CoreGraphics繪圖。閑話少說,上代碼。 下面我...
    OliviaZqy閱讀 9,584評論 11 33
  • 主要用時(shí)驗(yàn)證照片的真實(shí)性 以及照片版權(quán)等類信息 +(UIImage)YHWaterMarkImage:(UIIma...
    pinksnow閱讀 426評論 0 0
  • 先進(jìn)行效果展示: 以下是主要代碼部分: 1:找到GIF圖片的數(shù)組 -(NSArray *)imagesWithGi...
    icc_tips閱讀 2,970評論 0 8
  • 連日下雨??粗嚐粝碌挠旰艽?。下車后。走在樹下感覺遮蔽掉了好多。走到屋檐下更安全了。過十字路口也有大樹。 今天自習(xí)...
    0401閱讀 273評論 0 0
  • 日夜有心 太陽 月亮 一樣偉大 驕傲的單 溫和的眾 你愿發(fā)光發(fā)熱?我不礙你 我只是一顆星星
    森林初青閱讀 395評論 0 0

友情鏈接更多精彩內(nèi)容