Bladeren bron

1.修改iOS Apex Driver拍照压缩。

Pen Li 7 jaren geleden
bovenliggende
commit
6291f7917d

+ 4 - 0
Redant Drivers/Apex And Drivers/UIImage+RedAnt.h

@@ -12,4 +12,8 @@
 
 + (instancetype)ra_imageWithURL:(NSURL *)url;
 
++ (UIImage*)img_compress:(UIImage*)image kbsize:(float) size;
+
++ (UIImage *)scaleImageToSize:(UIImage *)img size:(CGSize)size;
+
 @end

+ 38 - 0
Redant Drivers/Apex And Drivers/UIImage+RedAnt.m

@@ -81,4 +81,42 @@ static dispatch_semaphore_t _lock;
     return md5Str;
 }
 
++ (UIImage*)img_compress:(UIImage*)image kbsize:(float) size {
+    
+    
+    
+    //UIImage *image=[UIImage imageNamed:@"xxoo.jpeg"];
+    NSData  *imageData=UIImageJPEGRepresentation(image, 1.f);
+    
+    if(size>imageData.length/1024)
+        return image;
+    
+    //   CGFloat size=40.f;// kb
+    CGFloat scale=size/(imageData.length/1024);
+    
+    scale = sqrt (scale);
+    
+    CGSize newsize=image.size;
+    newsize.height = newsize.height*scale;
+    newsize.width = newsize.width*scale;
+    
+    return [self scaleImageToSize:image size:newsize];
+}
+
++ (UIImage *)scaleImageToSize:(UIImage *)img size:(CGSize)size {
+    // 创建一个bitmap的context
+    // 并把它设置成为当前正在使用的context
+    UIGraphicsBeginImageContext(size);
+    // 绘制改变大小的图片
+    [img drawInRect:CGRectMake(0, 0, size.width, size.height)];
+    // 从当前context中创建一个改变大小后的图片
+    UIImage* scaledImage = UIGraphicsGetImageFromCurrentImageContext();
+    // 使当前的context出堆栈
+    UIGraphicsEndImageContext();
+    // 返回新的改变大小后的图片
+    
+    //   NSData  *imageData=UIImageJPEGRepresentation(scaledImage, 1.f);
+    return scaledImage;
+}
+
 @end

+ 2 - 1
Redant Drivers/Apex And Drivers/Update/RAOrderEditViewController+TableDataSource.m

@@ -21,6 +21,7 @@
 #import "RACameraViewController.h"
 #import "RAPhotoPreviewController.h"
 #import "SignatureViewController.h"
+#import "UIImage+RedAnt.h"
 
 
 @implementation RAOrderEditViewController (TableDataSource)
@@ -112,7 +113,7 @@
         
         RACameraViewController *cameraVC = [RACameraViewController viewControllerFromStoryboard];
         cameraVC.completion = ^(UIImage *image) {
-            cell.model.photo = image;
+            cell.model.photo = [UIImage img_compress:image kbsize:1024];
         };
         cameraVC.fromVC = self;
         [self.navigationController pushViewController:cameraVC animated:YES];