2012-01-05 82 views
0

我有我的笔尖,并根据和其一二的UIImageViews根据UISlider 代码的值调整为: -调整图片大小问题,iphone

-(IBAction)sliderChanged:(UISlider*)slider{ 
    CGFloat scaleFactor=slider.value; 

    markerImage.transform = CGAffineTransformMakeScale(scaleFactor,scaleFactor); 
} 

它被正确调整,但是当我合并这些图像一起由这些代码

UIImage *backImage=backgroundImage.image; 
UIImage *markImage=markerImage.image; 

UIGraphicsBeginImageContext(backImage.size); 

[backImage drawAtPoint:CGPointMake(0,0)]; 
[markImage drawAtPoint:CGPointMake(0,0)]; 

UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext(); 
UIGraphicsEndImageContext(); 

我得到了合并的图像与原始大小, 也就是说在同一维度标记图像显示的合成图像 在我怎样才能在正确的比例绘制标记图像 谢谢

回答

1

而不是drawAtPoint:,使用drawInRect:(CGRect)rect。另外,需要使用滑块值。

0和1之间假设sliderValue,

CGRect rect = CGRectMake(0,0, markerImage.size.width*sliderValue, markerImage.size.height*sliderValue); 
[markImage drawInRect:rect]; 

编辑

CGFloat width = markerImage.size.width*sliderValue; 
CGFloat height = markerImage.size.height*sliderValue; 

CGRect rect = CGRectMake((markerImage.size.width-width)/2,(markerImage.size.height-height)/2, width, height); 
[markImage drawInRect:rect]; 
+0

这个工作,但我会放在的左上角II图像希望这中间 – Johnykutty 2012-01-24 06:10:56

+1

我猜一次,我给基本的想法,你将能够根据你的需要进行修改。无论如何,我已根据您的需要编辑了我的答案。 – Ilanchezhian 2012-01-24 06:18:37