iOS图片实现可拉伸不变形的处理操作_IOS

在iOS的实际开发中,如果我们把一张有图片(有特别形状的,特别是类似有圆角的图片)放在UIButton中,当UIButton改变大小是,图片可能会被拉伸并且产生变形,我们可以通过-(UIImage *)resizableImageWithCapInsets:resizingMode:方法(通过UIImage对象调用该方法,并且传入要拉伸的图片的名字作为参数)实现返回一个可拉伸不变形的图片,这里我们把这个方法写到UIImage类的分类中把它封装起来,日后的iOS开发中我们可以直接拿来使用:

UIImage+Extension.h

#import <UIKit/UIKit.h>

@interface UIImage (Extension)
/**
 * 传入图片的名称,返回一张可拉伸不变形的图片
 *
 * @param imageName 图片名称
 *
 * @return 可拉伸图片
 */
+ (UIImage *)resizableImageWithName:(NSString *)imageName;
@end

UIImage+Extension.m

#import "UIImage+Extension.h"

@implementation UIImage (Extension)

+ (UIImage *)resizableImageWithName:(NSString *)imageName
{

  // 加载原有图片
  UIImage *norImage = [UIImage imageNamed:imageName];
  // 获取原有图片的宽高的一半
  CGFloat w = norImage.size.width * 0.5;
  CGFloat h = norImage.size.height * 0.5;
  // 生成可以拉伸指定位置的图片
  UIImage *newImage = [norImage resizableImageWithCapInsets:UIEdgeInsetsMake(h, w, h, w) resizingMode:UIImageResizingModeStretch];

  return newImage;
}
@end

以上就是本文的全部内容,希望能给大家一个参考,也希望大家多多支持。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索uiimage
ios 图片拉伸不变形、ps怎么拉伸图片不变形、ps拉伸变形、ps 图片拉伸变形、ps局部拉伸变形,以便于您获取更多的相关知识。

时间: 2024-09-17 04:22:02

iOS图片实现可拉伸不变形的处理操作_IOS的相关文章

iOS图片拉伸小技巧_IOS

纵观移动市场,一款移动app,要想长期在移动市场立足,最起码要包含以下几个要素:实用的功能.极强的用户体验.华丽简洁的外观.华丽外观的背后,少不了美工的辛苦设计,但如果开发人员不懂得怎么合理展示这些设计好的图片,将会糟蹋了这些设计,功亏一篑. 比如下面张图片,本来是设计来做按钮背景的: button.png,尺寸为:24x60 现在我们把它用作为按钮背景,按钮尺寸是150x50: // 得到view的尺寸 CGSize viewSize = self.view.bounds.size; // 初

iOS图片压缩处理

iOS图片压缩处理 首先,我们必须明确图片的压缩其实是两个概念: "压" 是指文件体积变小,但是像素数不变,长宽尺寸不变,那么质量可能下降. "缩" 是指文件的尺寸变小,也就是像素数减少,而长宽尺寸变小,文件体积同样会减小. 支持原创,请阅读原文 图片"压"处理 对于"压"的功能,我们可以使用UIImageJPEGRepresentation或UIImagePNGRepresentation方法实现,如: NSData *im

iOS图片放大的方式(transform和frame)_IOS

本文实例分享了iOS图片放大的方式,具体内容如下 第一种方式: frame改变x值y值的方式放大图片,是从左上开始放大. frame改变控件宽高的方式放大图片,是从中心开始放大. 原头像大小 用frame改变宽高 第二种方式: transform方式放大图片,从中心开始放大 以上就是iOS图片放大的两种方式,希望大家可以掌握.

安卓,ios图片,字段上传,服务器接收(struts2)

问题描述 安卓,ios图片,字段上传,服务器接收(struts2) 2C 在struts.xml中加入下面语句 name=""myRequestParser"" class=""util.RequestParseWrapper"" scope=""default"" optional=""true"" /> ios上传图片(List item

服务器那边没数据-iOS 图片上传,服务器那边收不到数据,显示字节数为0

问题描述 iOS 图片上传,服务器那边收不到数据,显示字节数为0 /** 上传头像 接口说明 此接接口以POST方式请求. 请求说明http://124.207.188.52/firmail/app/imgupload/upload?uid=111&file=图片二进制流 参数说明 uid 用户id file 图片的二进制流 */ (void)asiUploadIcon { NSURL *url = [NSURL URLWithString:@"http://124.207.188.52

mfc-VC6.0中MFC的背景图片如何实现拉伸

问题描述 VC6.0中MFC的背景图片如何实现拉伸 用位图当背景之后背景图片不能随对话框变大变小,背景图片是平铺了,如何实现拉伸,谢谢大神 解决方案 CWnd* pWnd; pWnd=GetDlgItem(IDC_IMAGE1); CDC* pDC=pWnd->GetDC(); HDC hDC = pDC->m_hDC; CRect rect_frame; CImage image; pWnd->GetClientRect(&rect_frame); image.Load(fil

iOS图片重绘保存问题

问题描述 iOS图片重绘保存问题 我在程序中加载一张以前绘制的图片a,在图片a上面绘图,并将绘图后的图片保存为一张新的图片b.现在的问题是我能够在图片a绘图,但是保存的时候 self.image = UIGraphicsGetImageFromCurrentImageContext(); 只能只能保存新绘制的图片,图片a的内容并没有保存进来,求教该怎么做????

iOS图片模糊效果的实现方法_IOS

本文为大家分享了iOS图片模糊效果的三种实现方式,供大家参考,具体内容如下 1.实现效果依次如图:原图.iOS8效果.Core Image效果. VImage 效果 - 2. 代码 #import "ViewController.h" #import <Accelerate/Accelerate.h> @interface ViewController () @end @implementation ViewController - (void)viewDidLoad {

详解IOS图片压缩处理_IOS

前言  1.确图片的压缩的概念: "压" 是指文件体积变小,但是像素数不变,长宽尺寸不变,那么质量可能下降. "缩" 是指文件的尺寸变小,也就是像素数减少,而长宽尺寸变小,文件体积同样会减小.    2.图片压的处理 对于"压"的功能,我们可以使用UIImageJPEGRepresentation或UIImagePNGRepresentation方法实现, 如代码: //图片压 - (void)_imageCompression{ UIImage