你好,歡迎來到IOS教程網

 Ios教程網 >> IOS使用技巧 >> IOS7技巧 >> iOS中 UIImage根據屏寬調整size的實例代碼

iOS中 UIImage根據屏寬調整size的實例代碼

編輯:IOS7技巧
本文介紹了iOS中 UIImage根據屏寬調整size的實例代碼,在工作學習中經常會遇到,大家可以根據本文動手嘗試一下。

需求:UIImage根據屏幕寬度按照自己本身比例改變高度

上代碼,為UIImage創建一個Category

 

 代碼如下復制代碼

#import"UIImage+UIImageExtras.h"

@implementationUIImage (UIImageExtras)

- (UIImage *)imageByScalingToSize:(CGSize)targetSize

{

 UIImage *sourceImage = self;

 UIImage *newImage = nil;

 CGSize imageSize = sourceImage.size;

 CGFloat width = imageSize.width;

 CGFloat height = imageSize.height;

 CGFloat targetWidth = targetSize.width;

 CGFloat targetHeight = targetSize.height;

 CGFloat scaleFactor =0.0;

 CGFloat scaledWidth = targetWidth;

 CGFloat scaledHeight = targetHeight;

 CGPoint thumbnailPoint = CGPointMake(0.0,0.0);

 if(CGSizeEqualToSize(imageSize, targetSize) ==NO) {

 CGFloat widthFactor = targetWidth / width;

 CGFloat heightFactor = targetHeight / height;

 if(widthFactor < heightFactor)

  scaleFactor = widthFactor;

 else

  scaleFactor = heightFactor;

 scaledWidth = width * scaleFactor;

 scaledHeight = height * scaleFactor;

 // center the image

 if(widthFactor < heightFactor) {

   

  thumbnailPoint.y = (targetHeight - scaledHeight) *0.5;

 }elseif(widthFactor > heightFactor) {

  thumbnailPoint.x = (targetWidth - scaledWidth) *0.5;

 }

 }

 // this is actually the interesting part:

 UIGraphicsBeginImageContext(targetSize);

 CGRect thumbnailRect = CGRectZero;

 thumbnailRect.origin = thumbnailPoint;

 thumbnailRect.size.width = scaledWidth;

 thumbnailRect.size.height = scaledHeight;

 [sourceImage drawInRect:thumbnailRect];

 newImage =UIGraphicsGetImageFromCurrentImageContext();

 UIGraphicsEndImageContext();

 if(newImage == nil)

 NSLog(@"could not scale image");

 returnnewImage ;

}

@end

 

在需要使用的地方import然後使用

 

 代碼如下復制代碼

CGSize size = image.size;

image = [image imageByScalingToSize:CGSizeMake([UIScreen mainScreen].bounds.size.width,[UIScreen mainScreen].bounds.size.width * (size.height / size.width))];

self.imageview.image = image;

 

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved