uiimage视图和矩形

时间:2011-01-06 09:27:25

标签: iphone ipad uiimageview

我想在一张图片上绘制一个矩形 怎么做?

3 个答案:

答案 0 :(得分:1)

首先阅读Quartz 2D Programming Guide并转到路径部分。

答案 1 :(得分:1)

-(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)];

    }

}
  

添加点按手势并粘贴此

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

    [self.view addGestureRecognizer:ges11];

帮助我的坦克......

答案 2 :(得分:0)

如果您只想在图像上添加一个简单的彩色矩形,可以这样做:

    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];