[iOS]圖片壓縮&儲存View為內容Img
1、圖片的壓縮
封裝類方法
+ (UIImage*)imageWithImageSimple:(UIImage*)image scaledToSize:(CGSize)newSize{ // Create a graphics image context UIGraphicsBeginImageContext(newSize); // Tell the old image to draw in this new context, with the desired // new size [image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)]; // Get the new image from the context UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext(); // End the context UIGraphicsEndImageContext(); // Return the new image. return newImage;}
//螢幕並壓縮 UIImage *snapshot = [UIImage imageWithCGImage:[AppDelegate screenShots].CGImage scale:1 orientation:UIImageOrientationLeft]; _updataImg =[AppDelegate imageWithImageSimple:snapshot scaledToSize:CGSizeMake(snapshot.size.width/3, snapshot.size.height/3)];
2、儲存View為內容Img
-(void)savetoLocal{ _moreVC.hidden =YES; UIImage * saveimg=[self saveImage]; UIImageWriteToSavedPhotosAlbum(saveimg, self, @selector(imageSavedToPhotosAlbum:didFinishSavingWithError:contextInfo:), nil); }-(UIImage*)saveImage{ UIGraphicsBeginImageContext(CGSizeMake(self.view.bounds.size.width, self.view.bounds.size.height - 20));//儲存self.view上的內容 [self.view.layer renderInContext:UIGraphicsGetCurrentContext()]; UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return viewImage;}- (void)imageSavedToPhotosAlbum:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo{ NSString *message = @"呵呵"; if (!error) { message = @"成功儲存到相簿"; }else { message = [error description]; } NSLog(@"message is %@",message);}