+ (NSDictionary *)SeparateImage:(UIImage *)image ByX:(int)x andY:(int)y cacheQuality:(float)quality {
if (x < 1) {
return nil;
} else if (y < 1) {
return nil;
}
if (![image isKindOfClass:[UIImage class]]) {
return nil;
}
float _xstep = image.size.width * 1.0 / ( y + 1);
float _ystep = image.size.height * 1.0 / (x + 1);
NSMutableDictionary *_mutableDictionary = [[[NSMutableDictionary alloc] initWithCapacity:1]autorelease];
NSString *prefixName = @"win";
for (int i = 0; i < x; i++) {
for (int j = 0; j < y; j++) {
CGRect rect = CGRectMake(_xstep * j, _ystep * i, _xstep, _ystep);
CGImageRef imageRef = CGImageCreateWithImageInRect([image CGImage], rect);
UIImage *elementImage = [UIImage imageWithCGImage:imageRef];
UIImageView *_imageView = [[UIImageView alloc] initWithImage:elementImage];
_imageView.frame = rect;
NSString *_imageString = [NSString stringWithFormat:@"%@_%d_%d.jpg", prefixName, i, j];
[_mutableDictionary setObject:_imageView forKey:_imageString];
if (quality <= 0)
continue;
quality = (quality > 1) ? 1 : quality;
NSString *_imagePath = [NSHomeDirectory() stringByAppendingPathComponent:_imageString];
NSData * _imageData = UIImageJPEGRepresentation(elementImage, quality);
[_imageData writeToFile:_imagePath atomically:NO];
}
}
NSDictionary *_dictionary = _mutableDictionary;
return _dictionary;
}
分享到:
相关推荐
iOS UI切图规范是iOS应用开发中的一个重要环节,它涉及到普通界面、桌面图标以及启动图的制作和管理。切图的目的是为了确保应用在不同设备上以清晰、适配的视觉效果呈现。以下是具体的知识点详解: 1. **普通界面...
只需要切一张@3X的图片,直接放在切图工具文件夹内,双击使用 imageAssests_make就能自动生成@1x,@2x,@3x的图片。开发应用起来还是很方便的
此资源包“ios通话界面按钮切图”显然包含了用于构建iOS通话界面的各种图标资源。这些图标通常由设计师精心制作,以确保与iOS系统的整体视觉风格保持一致,并提供清晰、直观的操作指引。 在描述中提到的“手机按钮...
Flutter的图像裁剪插件一个flutter插件,可在iOS和Android上裁剪图像。 该插件附带一个Crop小部件。 该小部件仅渲染图像,覆盖图和用于裁剪图像的手柄。 因此,它可以与其他小部件组合在一起以构建自定义图像裁剪...
它可能包含了读取iOS切图,调整尺寸,生成不同分辨率的版本,并根据Android的命名和目录结构进行组织的功能。 4. **9-patch 图片处理**:在转换过程中,需要特别处理9-patch图像,确保在Android端可以正确拉伸。这...
"ios-图片的切图4:3.zip"这个压缩包文件显然聚焦于如何针对4:3比例进行图片裁剪和处理,以适应不同设备的显示需求。在iOS应用中,图片切图是一个常见的操作,它有助于减少应用的加载时间、提高性能并优化显示效果。...
又是一个快速切图的插件,但他的功能更是强悍,不光可以针对ios、android版本设计切图,同时对于网页设计的童鞋来说也是一个不错的选择,可以逐层切出,编组切出,也可以选择性的切出。(本文来自于互联网,版权归...
Plist切图工具v1.0.1的应用场景广泛,不仅适用于iOS应用开发,也适用于任何需要处理Plist打包图片的项目。例如,UI设计师可以使用它来查看和修改游戏中的精灵图,开发者可以借此更轻松地管理和更新应用内的图像资源...
"MarkMan"是一款专为此目的而设计的专业切图工具,尤其在iOS和Android应用开发中起到桥梁作用。本篇文章将详细介绍Mac版的Mark Man及其重要性。 首先,Mark Man提供了用户友好的界面,使得设计师可以轻松地对设计稿...
资源包内包含的两个文件“矩形 copy 2@3x.png”和“矩形 copy 2x.png”,是针对iOS设备的不同像素密度(分别为3倍和2倍Retina显示屏)而准备的切图。在iOS系统中,@3x代表的是iPhone 6/6s/7/8 Plus、iPhone X系列及...
图片比例。
- **多分辨率支持**:Cutterman能够生成适应不同设备和屏幕分辨率的切图,包括@1x、@2x、@3x等,满足iOS和Android的开发需求。 - **导出格式**:除了常见的PNG格式,Cutterman还支持JPEG、SVG等多种图像格式,方便...
在iOS中,我们可以使用`UIBezierPath`(Foundation框架的Objective-C版本)或`CGPath`(Core Graphics框架的Swift版本)来创建不规则图形。 创建不规则图形的基本步骤如下: 1. **初始化BezierPath对象**:首先,...
在Cocos2dx中,对大图的处理已经封装好了一套自己的API...我也觉得),所以就不得不考虑切图和播放序列帧这两个在2D上常见的功能了,下面废话不多说。我的任务是把下面这张图切割成16块,并且按照动画的序列播放出来。
《plist图集切图工具详解》 在游戏开发和移动应用设计中,为了优化资源加载速度和内存使用,开发者通常会将多个小图合并成一个大图,即图集(Atlas)。这种技术被称为纹理打包(Texture Packing),常用的打包工具...
这个"切图@2x@3x重命名工具"的工作原理是,它会自动去除图片文件名中的@2x或@3x后缀,然后根据iOS的文件组织规范,将这些图片分别放入"xh"(对应@1x)和"xxh"(对应@3x)两个文件夹中。这样,开发者可以方便地将这两...
### iOS端UI设计文档知识点详解 #### 一、概述 iOS端UI设计文档主要涵盖了针对苹果设备的应用程序界面设计标准和指南。这类文档通常包含了设计准则、风格规范、排版规则以及具体的切图命名和输出标准等内容。这些...
在iOS应用开发中,"iPhone切图"是一个关键步骤,特别是在设计用户界面(UI)时。切图,或称为图像切割,是指将一个大的、包含多个元素的设计图分割成若干个小的、独立的图片,以便在不同的场景下高效地显示在设备上...