2011-01-06 124 views
4

我想绘制一个图像的矩形 如何做到这一点?图像视图和矩形

+0

你的意思是在图像上面画一些东西吗? – shannoga 2011-01-06 09:33:25

+0

是的,我想在图像上画画。我可以在该图像上放置另一个图像或视图,这对我来说不是问题,但如何绘制该图像? – GameLoading 2011-01-06 09:53:21

回答

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

坦克帮我..

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