iosobjective-cobjective-c-framework

Objective-C framework BJImageCropper Border corner


I want to change the design for border corner of BJImageCropper like this Sample Image, can anyone help me on this ?

Currently I am using this code for initialize BJImageCropper :

self.imageCropper = [[BJImageCropper alloc] initWithImage:self.image andMaxSize:CGSizeMake(750,350)];

        self.imageCropper.center = self.cropView.center;
        self.imageCropper.imageView.layer.shadowColor = [[UIColor blackColor] CGColor];
        self.imageCropper.imageView.layer.shadowRadius = 3.0f;
        self.imageCropper.imageView.layer.shadowOpacity = 0.8f;
        self.imageCropper.imageView.layer.shadowOffset = CGSizeMake(1, 1);

        [self.imageCropper addObserver:self forKeyPath:@"crop" options:NSKeyValueObservingOptionNew context:nil];

If there is any other framwork for image cropping that has the border corner like the sample image ,that might help also.


Solution

  • I have used BFCropInterface, which is actually modified version of BJImageCropper. You will get all delegate methods of BJImageCropper in BFCropInterface.
    Replaced below portion in BFCropInterface.m

     UIImage *nodeImage = [UIImage imageNamed:@"node.png"];
        tlnode = [[UIImageView alloc]initWithImage:nodeImage];
        trnode = [[UIImageView alloc]initWithImage:nodeImage];
        blnode = [[UIImageView alloc]initWithImage:nodeImage];
        brnode = [[UIImageView alloc]initWithImage:nodeImage];
    

    With This :

    tlnode = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"top-left.png"]];
        trnode = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"top-right.png"]];
        blnode = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"bottom-left.png"]];
        brnode = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"bottom-right.png"]]; 
    

    where .pngs are something like This

    And have implemented the framework in my code using :

    [[BFCropInterface alloc]initWithFrame:self.cropView.bounds andImage:original nodeRadius:50];
    

    increase the value of nodeRadius to increase the size of corner image .