Uiimage view and rectangle

I want to draw a rectangle in one image how to do this?

+4
source share
3 answers
-(IBAction)Handeltap:(UIGestureRecognizer *)sender { if(sender.state==UIGestureRecognizerStateBegan) { tapPoint1 = [sender locationInView:sender.view]; NSLog(@"UIGestureRecognizerStateBegan and x=%d and y=%d",(int)tapPoint1.x,(int)tapPoint1.y); img1=[[UIImageView alloc]initWithImage:nil]; [img1 setBackgroundColor:[UIColor lightTextColor]]; CGRect rect1=CGRectMake((float)tapPoint1.x,(float)tapPoint1.y,50,20); NSLog(@"rect=%f and %f and %f and %f",rect1.origin.x,rect1.origin.y,rect1.size.width,rect1.size.height); [img1 setFrame:rect1]; [self.view addSubview:img1]; [self.view bringSubviewToFront:img1]; } if(sender.state==UIGestureRecognizerStateChanged) {tapPoint2 = [sender locationInView:sender.view]; // NSLog(@"UIGestureRecognizerStateChanged and x=%d and y=%d",(int)tapPoint.x,(int)tapPoint.y); [img1 setFrame:CGRectMake(img1.frame.origin.x,img1.frame.origin.y,(float)tapPoint2.x-img1.frame.origin.x,(float)tapPoint2.y-img1.frame.origin.y)]; } if(sender.state==UIGestureRecognizerStateEnded) { tapPoint2 = [sender locationInView:sender.view]; NSLog(@"UIGestureRecognizerStateEnded and x=%d and y=%d",(int)tapPoint2.x,(int)tapPoint2.y); [img1 setFrame:CGRectMake(img1.frame.origin.x,img1.frame.origin.y,(float)tapPoint2.x-img1.frame.origin.x,(float)tapPoint2.y-img1.frame.origin.y)]; } } 

add a touch gesture and paste this

 UILongPressGestureRecognizer *ges11=[[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(Handeltap:)]; [self.view addGestureRecognizer:ges11]; 

Tanks to help me ..

+1
source

Start by reading the Quartz 2D Programming Guide and go to the paths section.

+1
source

If you just want to add a simple colored rectangle to the image, you can do it like this:

  UIImage *imageFile = [[UIImage alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"myImageFile" ofType:@"jpg"]]; UIImageView *myImageFileView = [[UIImageView alloc] initWithImage:imageFile]; myImageFileView.frame = CGRectMake(0, 0, 320, 480); //size of image view [self.view addsubview:myImageFileView]; //I assume this is within a view controller .m UIView *rectangle = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 50, 50)]; //A rectangle at point (0, 0) 50x50 in size. rectangle.backgroundColor = [UIColor redColor]; //color the rectangle [myImage addSubview:rectangle]; //add the rectangle to your image [rectangle release]; [imageFile release]; [myImageFileView release]; 
0
source

Source: https://habr.com/ru/post/1334475/


All Articles