直播带货平台源码,UIImage的剪切,尺寸缩小、压缩、添加水印

直播带货平台源码,UIImage的剪切,尺寸缩小、压缩、添加水印实现的相关代码

```handlebars UIImage *image = [UIImage imageNamed:@"portrait01.png"]; CGFloat width = image.size.width; CGFloat height = image.size.height; //加图片水印 UIImage *image01 = [self addToImage:image image:image withRect:CGRectMake(0, 20, 30, 30)]; UIImageView *imag = [[UIImageView alloc] initWithImage:image01]; imag.frame = CGRectMake(10, 100, width,height); [self.view addSubview:imag]; //剪切图片 UIImage *image1 =[self cutImage:image withRect:CGRectMake(10, 20, 60, 100)];// int w = image1.size.width; int h = image1.size.height; UIImage *image11 = [self addText:image1 text:@"剪切" withRect:CGRectMake(10,(h-30)/2, w, 30) ]; UIImageView *imag1 = [[UIImageView alloc] initWithImage:image11]; imag1.frame = CGRectMake(10, 210, image1.size.width,image1.size.height); [self.view addSubview:imag1]; //缩小图片 UIImage *image2 = [self scaleToSize:image size:CGSizeMake(image1.size.width, image1.size.height)]; UIImage *image22 = [self addText:image2 text:@"压缩" withRect:CGRectMake(10,(h-30)/2, w, 30) ]; UIImageView *imag2 = [[UIImageView alloc] initWithImage:image22]; imag2.frame = CGRectMake(10, 300, image2.size.width,image2.size.height); [self.view addSubview:imag2]; //压缩图片大小并保存 [self zipImageData:image]; } //压缩图片 - (UIImage *)scaleToSize:(UIImage *)img size:(CGSize)size{ // 设置成为当前正在使用的context UIGraphicsBeginImageContext(size); // 绘制改变大小的图片 [img drawInRect:CGRectMake(0, 0, size.width, size.height)]; // 从当前context中创建一个改变大小后的图片 UIImage* scaledImage = UIGraphicsGetImageFromCurrentImageContext(); // 使当前的context出堆栈 UIGraphicsEndImageContext(); // 返回新的改变大小后的图片 return scaledImage; } //截图图片 - (UIImage *)cutImage:(UIImage *)image withRect:(CGRect )rect { CGImageRef imageRef = CGImageCreateWithImageInRect([image CGImage], rect); UIImage * img = [UIImage imageWithCGImage:imageRef]; CGImageRelease(imageRef); return img; } //压缩图片大小 - (void)zipImageData:(UIImage *)image { NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:@"yyyyMMddHHSSS"]; NSString *currentDateStr = [dateFormatter stringFromDate:[NSDate date]]; NSString *dateStr = [NSString stringWithFormat:@"%@.jpg",currentDateStr]; NSString *path = [NSTemporaryDirectory() stringByAppendingPathComponent:dateStr]; if ([[NSFileManager defaultManager] fileExistsAtPath:path]) { NSError *error; [[NSFileManager defaultManager] removeItemAtPath:path error:&error]; } NSData *imgData = UIImageJPEGRepresentation(image, 1); if([imgData writeToFile:path atomically:YES]) { NSLog(@"saveSuccess"); } } //加文字水印 - (UIImage *) addText:(UIImage *)img text:(NSString *)mark withRect:(CGRect)rect { int w = img.size.width; int h = img.size.height; UIGraphicsBeginImageContext(img.size); [[UIColor redColor] set]; [img drawInRect:CGRectMake(0, 0, w, h)]; if([[[UIDevice currentDevice]systemName]floatValue] >= 7.0) { NSDictionary* dic = [NSDictionary dictionaryWithObjectsAndKeys:[UIFont systemFontOfSize:20.0f], NSFontAttributeName,[UIColor blueColor] ,NSForegroundColorAttributeName,nil]; [mark drawInRect:rect withAttributes:dic]; } else { //该方法在7.0及其以后都废弃了 [mark drawInRect:rect withFont:[UIFont systemFontOfSize:20]]; } UIImage *aimg = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return aimg; } //加图片水印 - (UIImage *) addToImage:(UIImage *)img image:(UIImage *)newImage withRect:(CGRect)rect { int w = img.size.width; int h = img.size.height; UIGraphicsBeginImageContext(img.size); [img drawInRect:CGRectMake(0, 0, w, h)]; [newImage drawInRect:rect]; UIImage *aimg = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return aimg; } ```

 

以上就是直播带货平台源码,UIImage的剪切,尺寸缩小、压缩、添加水印实现的相关代码, 更多内容欢迎关注之后的文章

原文链接:https://www.cnblogs.com/yunbaomengnan/p/15020025.html

兔子先生 西安驾培

于灯火阑珊处,于暗香离别时,未曾放弃

相关推荐

抖音矩阵平台有哪些?

  抖音矩阵平台是指一系列用于在抖音平台上进行内容创作、运营和推广的工具和系统。其中,视界引擎短视频运营获客系统作为一款全面的抖音矩阵平台,具有许多优势。 抖音矩阵平台是当今数字营销领域的热门工 ...

怎么看待直播带货的营销形式?

随着电商行业的崛起,越来越多的商家开始使用直播的方式来进行产品推广,那么直播为什么可以推广产品带货呢?直播带货的本质是什么呢?今天,就来跟大家讲解一下。直播之所以可以推广产品,引导观众购买产品是因 ...

快抖矩阵多账号管理系统官方正版

账号源从哪里来?没有那么多抖音账号?怎么赚钱?有什么价值?       首先这是一套多开可招代理的矩阵账号管理系统,第一目的是让你拿来给有很多账号的品牌机构或达人当账号辅助管理工具打理账户 ...