IOS 图片失真

1. 问题:图片过小,需要放大到合适尺寸

//对图片进行压缩

defaultStatusImg1 = [self scaleImage:defaultStatusImg1 toScale:1.5f];

2. 问题:图片失真

//图片失真

defaultStatusImg1 =  [UIImage_Extend imageWithColor:[UIColor clearColor] withImage:defaultStatusImg1 withSize:itemRect.size withOffsetPoint:CGPointMake(34.f,5.f)];//offsetPoint可以使图片和文字对齐

- (UIImage *)scaleImage:(UIImage *)image toScale:(float)scaleSize

{

UIGraphicsBeginImageContext(CGSizeMake(image.size.width * scaleSize, image.size.height * scaleSize));

[image drawInRect:CGRectMake(0, 0, image.size.width * scaleSize, image.size.height * scaleSize)];

UIImage *scaledImage = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

return scaledImage;

}

前提:

1.导入framework-libuiframework.a

2.创建UIImage_Extend:

//  UIImage+Extend.h

#import <Foundation/Foundation.h>

@interface UIImage_Extend : NSObject

+(UIImage*)imageCroppedToFitSize:(CGSize)size withFileName:(NSString*)fileName;

+(UIImage *)imageCroppedToFitSize:(CGSize)size withData:(UIImage*)srcData;

+(UIImage*)imageCroppedToFitSizeII:(CGSize)size withData:(UIImage *)srcData;

+(UIImage*)imageCroppedToFitSizeII:(CGSize)size withFileName:(NSString*)fileName;

+(UIImage*)imageScaleToFitSize:(CGSize)size withFileName:(NSString*)fileName;

+(UIImage*)imageScaleToFitSize:(CGSize)size withData:(UIImage*)srcData;

+(UIImage *)makeRoundCornerImage:(UIImage*)img :(int) cornerWidth :(int) cornerHeight;

+(UIImage *)imageWithColor:(UIColor *)color;

+(UIImage *)imageWithColor:(UIColor *)color  withImage:(UIImage*)contentImage withSize:(CGSize)size;

+(UIImage *)imageWithColor:(UIColor *)color  withImage:(UIImage*)contentImage withSize:(CGSize)size withOffsetPoint: (CGPoint)point;

@end

时间: 2024-11-08 19:06:03

IOS 图片失真的相关文章

大屏iPhone的适配 +iOS 图片尺寸要求

摘自:http://blog.ibireme.com/2014/09/16/adapted_to_iphone6/ 苹果公司官网设计介绍到:Retina显示屏的超高像素密度已超过人眼能分辨的范围.Retina对图像设计(图标.启动画面和其它所有像素有关的东西)有什么影响呢?如果我们的app要支持Retina,就要提供高分辨率的(宽x2,高x2)的图片.同时,为了支持没有Retina的设备,仍旧要准备低分辨率的版本. 换言之,我们要准备两套设计图. 针对不同分辨率的图片,苹果规定了一个命名规范:假

ios图片拉伸两种方法

ios图片拉伸两种方法 UIImage *image = [UIImage imageNamed:@"qq"]; 第一种: // 左端盖宽度 NSInteger leftCapWidth = image.size.width * 0.5f; // 顶端盖高度 NSInteger topCapHeight = image.size.height * 0.5f; // 重新赋值 image = [image stretchableImageWithLeftCapWidth:leftCapW

IOS图片拉伸技巧

IOS 图片拉伸技巧 对于有些图标等按钮 在美工设计的按钮下可以通过拉伸效果处理所需效果,最熟悉的莫过于微信聊天的 椭圆背景,也是通过这个这个原理进行背景图片.  如对该图片拉伸,如何操作? 首先找到要拉伸的部分,很明显 两侧椭圆是不变 要拉伸的是中间部分,如何指定中间部位,先看下图 指定这4个宽度后 会形成黑色模块 直白点就是 这块内容就是拉伸后中间那块不断填充的部分 具体代码: 1 UIImage* img=[UIImage imageNamed:@"2.png"];//原图2 U

IOS 图片轮播实现原理 (三图)

IOS 图片轮播实现原理的一种 图片轮播所要实现的是在一个显示区域内通过滑动来展示不同的图片. 当图片较少时我们可以采用在滚动视图上添加很多张图片来实现. 但是如果图片数量较多时,一次性加载过多图片会浪费内存,影响性能. 因此我们要采取适当地方法来实现图片的轮播. 下面我们只是简单的介绍很多方法中的一种简单的实现原理. 一 二 三 四 五 六 七

ios图片拉伸

 button.png,尺寸为:24x60 现在我们把它用作为按钮背景,按钮尺寸是150x50: // 得到view的尺寸 CGSize viewSize = self.view.bounds.size; // 初始化按钮 UIButton *button = [[UIButton alloc] init]; // 设置尺寸 button.bounds = CGRectMake(0, 0, 150, 50); // 设置位置 button.center = CGPointMake(viewSiz

ios图片瀑布流代码

ios瀑布流,实现简单的瀑布流视图布局,可以显示网络图片,下拉刷新,上拉加载更多. 下载:http://www.huiyi8.com/sc/9087.html ios图片瀑布流代码,布布扣,bubuko.com

iOS图片模糊效果

加入  CoreImage.framework  CoreGraphic.framework 等库 在使用时引入:#import <Accelerate/Accelerate.h> ,支持iOS 5.0 及以上. -(void)show { UIImage* img = [self getBlurImage:[UIImage imageNamed:@"Default-568h.png"]]; [_bgImageView setImage:img]; } -(UIImage*

ios 图片裁剪

/** *  图片裁剪 裁剪原理: 先在控制器上确定一个区域,然后再把要把需要裁剪的图片该区域上面,超出区域的图片都不显示 * *  @param rect */-(void) drawRect:(CGRect)rect{    CGContextRef ref = UIGraphicsGetCurrentContext();        // 首先画圆    CGContextAddEllipseInRect(ref, CGRectMake(100, 100, 100, 100));    

iOS 图片拉伸 resizableImageWithCapInsets

UIImage *image =  [[UIImage imageNamed:@"test.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 10, 0, 10)]; 其中Insets这个参数的格式是(top,left,bottom,right),从上.左.下.右分别在图片上画了一道线,这样就给一个图片加了一个框. 只有在框里面的部分才会被拉伸,而框外面的部分则不会改变. 4个参数是上边界,左边界,下边界,右边界距离,也可以为负