UIImage *bgImage = [UIImage imageNamed:@"bg"]; //上下文 : 基於位圖(bitmap),全部的東西須要繪製到一張新的圖片上去 //1.建立一個基於位圖的上下文(開啓一個基於位圖的上下文) //size : 新圖片的此處 //opaque : 不透明度 //建立一張新的bitmap,也就是新的UIImage對象 UIGraphicsBeginImageContextWithOptions(bgImage.size, NO, 0.0); //2.畫背景 [bgImage drawInRect:CGRectMake(0, 0, bgImage.size.width, bgImage.size.height)]; //3.畫右下角水印 UIImage *watermarkImage = [UIImage imageNamed:@"watermark"]; CGFloat scale = 0.2; CGFloat margin = 5; CGFloat watermarkW = watermarkImage.size.width * scale; CGFloat watermarkH = watermarkImage.size.height * scale; CGFloat watermarkX = bgImage.size.width - watermarkW - margin; CGFloat watermarkY = bgImage.size.height - watermarkH - margin; [watermarkImage drawInRect:CGRectMake(watermarkX, watermarkY, watermarkW, watermarkH)]; NSLog(@"%g",watermarkY); //4.從上下文中取得製做完畢的UIImange對象 UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext(); //5.結束上下文 UIGraphicsEndImageContext(); //6.將image對象壓縮爲PNG格式的二進制對象. NSData *data = UIImagePNGRepresentation(newImage); //7寫入文件 NSString *path = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject] stringByAppendingString:@"new.png"]; [data writeToFile:path atomically:YES]; NSLog(@"%@",path);