开发者

uiimage view and rectangle

开发者 https://www.devze.com 2023-02-03 07:27 出处:网络
I want to 开发者_运维问答draw a rectangle on one image how to do that?Start by reading Quartz 2D Programming Guide and go to paths section.-(IBAction)Handeltap:(UIGestureRecognizer *)sender

I want to 开发者_运维问答draw a rectangle on one image how to do that?


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


-(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 tap gesture and paste this

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

    [self.view addGestureRecognizer:ges11];

Tanks for helping me..


If you just want to add a simple colored rectangle to an 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

精彩评论

暂无评论...
验证码 换一张
取 消