iOS将一个文件夹下的所有3倍图自动转成2倍图程序源码 - 新闻资讯 - 云南小程序开发|云南软件开发|云南网站建设-昆明葵宇信息科技有限公司

159-8711-8523

云南网建设/小程序开发/软件开发

知识

不管是网站,软件还是小程序,都要直接或间接能为您产生价值,我们在追求其视觉表现的同时,更侧重于功能的便捷,营销的便利,运营的高效,让网站成为营销工具,让软件能切实提升企业内部管理水平和效率。优秀的程序为后期升级提供便捷的支持!

您当前位置>首页 » 新闻资讯 » 技术分享 >

iOS将一个文件夹下的所有3倍图自动转成2倍图程序源码

发表时间:2020-10-19

发布人:葵宇科技

浏览次数:50


如不雅开辟iOS的话,有的时刻来不及将所有的三倍图转成2倍图,可以写一个Mac版本的敕令行小对象,主动将一个文件夹下的所有三倍尺寸的图片转成2倍图片,并且将hello@3x.com敕令为hello@2x.png。当然照样有设计一张一张切出来也是可以的,这里只是供给了一个快捷的办法
也可以本身修改琅绫擎的比例,主动裁剪出更多尺寸的图片或者支撑更多的功能
值得留意的是,Mac版本的裁剪也须要推敲屏幕是否是高清屏幕, 下面是一些重要部分的代码:
<pre name="code" class="objc">CGFloat scale = [NSScreen mainScreen].backingScaleFactor;
NSLog(@"scale: %f", scale);
CGFloat scaleFactor = 1.0 / scale;
// 下面是裁剪的时刻,须要转换图片的尺寸。
NSSize newSize = NSMakeSize(image.pixelsWide * scaleFactor * 2.0 / 3.0, image.pixelsHigh * scaleFactor * 2.0 / 3.0);
    
NSImage *newImage = [self resizeImage:image size:newSize];
    
NSData *outputData= [newImage TIFFRepresentation];
NSBitmapImageRep *imageRep = [NSBitmapImageRep imageRepWithData:outputData];
NSDictionary *imageProps = [NSDictionary dictionaryWithObject:[NSNumber numberWithFloat:0.9] forKey:NSImageCompressionFactor];
NSData *data = [imageRep representationUsingType:NSPNGFileType properties:imageProps];
    
BOOL ok = [data writeToFile:newPath atomically:YES];
NSLog(@"save %@ ok:%@", newPath, ok ? @"YES" : @"NO");




代码中新图片应用的PNG格式,如不雅须要应用JPEG格式的话,可以本身下载代码进行修改。
代码下载地址:
http://download.csdn.net/detail/liyan223/8327709
代码运行方法:
clang++ -o imageResizer main.mm -framework Foundation -framework Cocoa -framework QuartzCore
./imageResizer imageFolderPath
当然膳绫擎只是个中的一种方法,也可以应用膳绫擎的代码,本身简单地加一个图形界面

相关案例查看更多