• ioszbar scanview 根据扫描区域切割图片


    在scanview中添加扫描区域

    ZBarReaderViewController *reader = [ZBarReaderViewController new];
        reader.readerDelegate = self;
        //CGRect frame= CGRectMake(20, 30, 320, 260);
        reader.scanCrop= CGRectMake(0.2, .1, .47, .8);  

    自定义scanview添加一个自定义的扫描框

    - (UIView *)setOverlayPickerView{
        UIView *v=[[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
        [v setBackgroundColor:[UIColor clearColor]];
        UILabel *scanningLabel = [[UILabel alloc] initWithFrame:CGRectMake(100, 50, 120, 30)];
        [scanningLabel setBackgroundColor:[UIColor clearColor]];
    	[scanningLabel setFont:[UIFont fontWithName:@"Courier" size: 18.0]];
    	[scanningLabel setTextColor:[UIColor redColor]];
    	[scanningLabel setText:@"Scanning..."];
        [scanningLabel setHidden:NO];
    	[v addSubview:scanningLabel];
        
        UIImageView *overlayImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"overlaygraphic.png"]];
        [overlayImageView setFrame:CGRectMake(30, 100, 260, 200)];
        [v addSubview:overlayImageView];
        UIToolbar *myToolBar = [[UIToolbar alloc] init];
        UIBarButtonItem *backButton=[[UIBarButtonItem alloc] initWithTitle:@"back" style:UIBarButtonItemStyleBordered target:self action:@selector(dismissOverlayView:)];
        UISwitch *sw=[[UISwitch alloc] init];
        [sw setOn:NO];
        UIBarButtonItem *switchButton=[[UIBarButtonItem alloc] initWithCustomView:sw];
        UIBarButtonItem *fixed=[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
        [sw addTarget:self action:@selector(handleSwitchFlash:) forControlEvents:UIControlEventValueChanged];
        [myToolBar setItems:[NSArray arrayWithObjects:backButton,fixed,switchButton,nil]];
        [myToolBar setBarStyle:UIBarStyleDefault];
        CGRect toolBarFrame;
        toolBarFrame = CGRectMake(0, 436, 320, 44);
        [myToolBar setFrame:toolBarFrame];
        [v addSubview:myToolBar];
        return  v;
    }
    

    切割图片

    // EXAMPLE: do something useful with the barcode image
        
        UIImage *largeImage=[info objectForKey: UIImagePickerControllerOriginalImage];
        
        //UIImage * PortraitImage = [[UIImage alloc] initWithCGImage: largeImage.CGImage
        //                                                     scale: 1.0
        //                                               orientation: UIImageOrientationLeft];
        UIImage * PortraitImage=[largeImage imageRotatedByDegrees:90];
        
        //CGRectMake(0.2, .1, .47, .8);
        float w=largeImage.size.width;
        float h=largeImage.size.height;
        NSLog(@"====largeimagesize:h=%f,w=%f",largeImage.size.height,largeImage.size.width);
        NSLog(@"====PortraitImage:h=%f,w=%f",PortraitImage.size.height,PortraitImage.size.width);
        CGImageRef imageRef = CGImageCreateWithImageInRect([PortraitImage CGImage], CGRectMake(w*.25, h*.2, w*.8, h*.27));
        
        
        // or use the UIImage wherever you like
        [self.scanImageView setImage:[UIImage imageWithCGImage:imageRef]];
    

      

      

  • 相关阅读:
    git-将dev代码合并到test
    java中一句话取到用split()截后的最后一个值
    shiro重定向或会话失效后NginxURL地址无效,以及浏览器控制台Mixed Content: The page at ‘https://XXX’ was loaded over HTTPS, but requested an insecure错误
    Linux 查找Nginx配置文件位置命令
    Linux 常用命令(个人暂时用到的)
    代理模式
    【Vue自学笔记(四)】天气案例
    【Vue自学笔记(三)】网络请求的简单使用
    【Vue自学笔记】案例
    【Vue自学笔记(二)】Vue指令
  • 原文地址:https://www.cnblogs.com/neozhu/p/2806975.html
Copyright © 2020-2023  润新知