2015-10-06 36 views
0

我有一个裁剪后的图像&我在ui上显示它。当我添加框架时,图像大小发生了变化。例如,如果图像大小是200 * 50 &当我添加另一个图像作为一个框架,然后新的图像变得相等的高度&框架image.Please告诉我如何得到解决方案。添加框架时,图像越来越拉伸?

这里是我的代码:

-(void)addFrames:(int)count 
{ 
    float scale ; 
    UIImage *borderImage; 

    if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)] == YES && [[UIScreen mainScreen] scale] == 2.00) 
    { 
     // RETINA DISPLAY 
     scale = 2.0; 
    } 
    else 
    { 
     // non - retina display 
     scale = 1.0; 
    } 
    if(count==1) 
    { 
     borderImage = [UIImage imageNamed:@""]; 

    } 
    else if(count==2) 
    { 
     borderImage = [UIImage imageNamed:@"borderImage1.png"]; 

    } 
    else if(count==3) 
    { 
     borderImage = [UIImage imageNamed:@"borderImage2.png"]; 

    } 
    else if(count==4) 
    { 
     borderImage =[UIImage imageNamed:@"borderImage3.png"]; 

    } 
    else if(count==5) 
    { 
     borderImage = [UIImage imageNamed:@"borderImage4.png"]; 


    } 

    UIImage *bottomImage = self.mainImage; //background image 
    UIImage *image  = borderImage; //foreground image 
    CGSize newSize = CGSizeMake(self.img_background.frame.size.width, self.img_background.frame.size.height); 
    UIGraphicsBeginImageContext(newSize); 

    // Use existing opacity as is 
    [bottomImage drawInRect:CGRectMake(0,0,newSize.width,newSize.height)]; 
    // Apply supplied opacity if applicable 
    [image drawInRect:CGRectMake(0,0,newSize.width,newSize.height) blendMode:kCGBlendModeNormal alpha:0.8]; 
    UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext(); 

    UIGraphicsEndImageContext();// 
    self.img_background.image=newImage; 
    framedImage=newImage; 

} 

我希望新的框架式图像大小相等的,因为它是添加帧之前?

回答

0

你是谁在说了一句:

[bottomImage drawInRect:CGRectMake(0,0,newSize.width,newSize.height)]; 

,绵延的图像来填补这个矩形,所以它是由newSize.widthnewSize.height。如果这不是你想要的,那么不要这样做。它绘制您告诉它绘制的位置,以您告诉它绘制的大小绘制。