2013-09-27 1 views
2

Как создать новое изображение с указанным фреймом в UIView, представление содержит изображения и кнопки также. Мне также нужно получить изображение в указанном кадре как новое изображение. Я пробовал это, но это не правильно.Создание изображения в рамке прямоугольника, помещенного в UIImageview

Мне нужно обрезать UIView и сделать его новым UIImage.

ответ

0

Вам необходимо импортировать эту инфраструктуру в свой проект.

#import <QuartzCore/QuartzCore.h> 

и использовать следующий код

[imageView.layer setBorderColor: [[UIColor blackColor] CGColor]]; 
[imageView.layer setBorderWidth: 2.0]; // set border width as per your requirement. 

Редакцией:

Используйте любой из которых вам нужно.

Для Get Crop Image:

UIImage *croppedImg = nil; 
CGRect cropRect = CGRectMake(AS YOu Need); 
croppedImg = [self croppIngimageByImageName:self.imageView.image toRect:cropRect]; 

Используйте следующий метод, возвращающий UIImage (, как Вы хотите, чтобы размер изображения)

- (UIImage *)croppIngimageByImageName:(UIImage *)imageToCrop toRect:(CGRect)rect 
    { 
     //CGRect CropRect = CGRectMake(rect.origin.x, rect.origin.y, rect.size.width, rect.size.height+15); 

     CGImageRef imageRef = CGImageCreateWithImageInRect([imageToCrop CGImage], rect); 
     UIImage *cropped = [UIImage imageWithCGImage:imageRef]; 
     CGImageRelease(imageRef); 

     return cropped; 
    } 

Здесь вы получите Croped изображения, что возвращение выше Способ;

ИЛИ ИЗМЕНЕНИЕ РАЗМЕРА

, а также использовать следующий метод для конкретной Hight и ширина с изображением для Resizing UIImage:

+ (UIImage*)resizeImage:(UIImage*)image withWidth:(int)width withHeight:(int)height 
{ 
    CGSize newSize = CGSizeMake(width, height); 
    float widthRatio = newSize.width/image.size.width; 
    float heightRatio = newSize.height/image.size.height; 

    if(widthRatio > heightRatio) 
    { 
     newSize=CGSizeMake(image.size.width*heightRatio,image.size.height*heightRatio); 
    } 
    else 
    { 
     newSize=CGSizeMake(image.size.width*widthRatio,image.size.height*widthRatio); 
    } 


    UIGraphicsBeginImageContextWithOptions(newSize, NO, 0.0); 
    [image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)]; 
    UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext(); 
    UIGraphicsEndImageContext(); 

    return newImage; 
} 

Этот метод обратного NewImage, с определенным размером, который вы хотите.

+0

Извините, это не дает требуемого решения. – Arunkumar

+0

Мне нужно обрезать UIView и сделать его новым UIImage. – Arunkumar

+0

вы хотите обрезать изображение ??? – iPatel