2012-06-27 39 views

Trả lời

10

Bạn có thể sử dụng mã này:

+ (UIImage *)imageWithImage:(UIImage *)image scaledToSize:(CGSize)newSize { 
    //UIGraphicsBeginImageContext(newSize); 
    UIGraphicsBeginImageContextWithOptions(newSize, NO, 0.0); 
    [image drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)]; 
    UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();  
    UIGraphicsEndImageContext(); 
    return newImage; 
} 

Taken từ here.

Công việc có thêm bạn sẽ có, sẽ là một phương pháp Một rằng sẽ gọi imageWithImage:scaledToSize: khi UISlider's thay đổi giá trị.

+0

thx cho trả lời, tôi đã thêm với theo, tôi phải không? Nhưng tôi thử nghiệm với kích thước hình ảnh rắc rối xảy ra ... float ratio = penSize_sld.value/(penSize_sld.maximumValue/2); CGSize ss = CGSizeMake (tỷ lệ penSize_sld.currentThumbImage.size.width *, tỷ lệ penSize_sld.currentThumbImage.size.height *); UIImage * changeImage = [Hình ảnh UIImageWithImage: penSize_sld.currentThumbImage scaledToSize: ss]; [penSize_sld setThumbImage: changeImage forState: UIControlStateNormal]; if (sender == penSize_sld) { brushWidth = penSize_sld.value; } – AndyYeung

+1

Nếu bạn cần thêm thông tin bổ sung, hãy chỉnh sửa bài đăng của bạn và đặt mã đó ở đó ... – Peres

+0

Công việc đó! Cảm ơn JackyBoy 'float ratio = penSize_sld.value/(penSize_sld.maximumValue/2); nếu (tỷ lệ <0.8) { ratio = 0,8; } UIImage * thumbImage = [UIImage imageWithContentsOfFile: [[NSBundle mainBundle] pathForResource: @ "drawview_dragbar_bu_1.png" ofType: nil]]; CGSize ss = CGSizeMake (tỷ lệ thumbImage.size.width *, tỷ lệ thumbImage.size.height *); UIImage * changeImage = [UIImage imageWithImage: thumbImage scaledToSize: ss]; [penSize_sld setThumbImage: changeImage forState: UIControlStateNormal]; ..... } ' – AndyYeung

2

Swift 3:

extension UIImage { 

    func scaleToSize(newSize: CGSize) -> UIImage { 
     UIGraphicsBeginImageContextWithOptions(newSize, false, 0.0) 
     draw(in: CGRect(x: 0, y: 0, width: newSize.width, height: newSize.height)) 
     let newImage: UIImage = UIGraphicsGetImageFromCurrentImageContext()! 
     UIGraphicsEndImageContext(); 
     return newImage 
    } 
} 
Các vấn đề liên quan