как уменьшить размер отображения изображения в UIIMageview - PullRequest
1 голос
/ 14 апреля 2011

Я новичок в разработке для iPhone

Моя проблема в том, что в моем приложении UIImageview, button1, button2. button1 используется для доступа к изображениям из сохраненной фотобиблиотеки, а кнопка2 используется для хранения изображения в базе данных,

Но размер изображения (800x800) очень большой, я хочу сохранить его в размере (50x50)

Как уменьшить размер изображения при нажатии кнопки 2?

Ответы [ 3 ]

2 голосов
/ 14 апреля 2011
// grab the original image
UIImage *originalImage = [UIImage imageNamed:@"myImage.png"];

UIImage *scaledImage = [UIImage imageWithCGImage:[originalImage CGImage] scale:50/800 orientation:UIImageOrientationUp];
2 голосов
/ 14 апреля 2011

Эта категория сделает всю работу за вас -

UIImage + Additions.h -

@interface UIImage (UIImageAdditions)
- (UIImage*)scaleToSize:(CGSize)size;
@end

UIImage + Additions.m -

@implementation UIImage (UIImageAdditions)

- (UIImage*)scaleToSize:(CGSize)size {
    UIGraphicsBeginImageContext(size);

    CGContextRef context = UIGraphicsGetCurrentContext();
    CGContextTranslateCTM(context, 0.0, size.height);
    CGContextScaleCTM(context, 1.0, -1.0);

    CGContextDrawImage(context, CGRectMake(0.0f, 0.0f, size.width, size.height), self.CGImage);

    UIImage* scaledImage = UIGraphicsGetImageFromCurrentImageContext();

    UIGraphicsEndImageContext();

    return scaledImage;
}
@end
0 голосов
/ 14 апреля 2011
+ (UIImage*)imageWithImage:(UIImage*)image 
               scaledToSize:(CGSize)newSize;
{
   UIGraphicsBeginImageContext( newSize );
   [image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)];
   UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();
   UIGraphicsEndImageContext();

   return newImage;
}

Просьба посмотреть этот предыдущий вопрос SO Какой самый простой способ изменить размер / оптимизировать размер изображения с помощью iPhone SDK? для дальнейшего использования

...