2015-10-06 50 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。如果這不是你想要的,那麼不要這樣做。它繪製您告訴它繪製的位置,以您告訴它繪製的大小繪製。