標籤:mac ios 圖片
如果開發iOS的話,有的時候來不及將所有的三倍圖轉成2倍圖,可以寫一個Mac版本的命令列小工具,自動將一個檔案夾下的所有三倍尺寸的圖片轉成2倍圖片,並且將[email protected]命令為[email protected]。當然還是有設計一張一張切出來也是可以的,這裡只是提供了一個快捷的方法
也可以自己修改裡面的比例,自動裁剪出更多尺寸的圖片或者支援更多的功能
值得注意的是,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
當然上面只是其中的一種方式,也可以利用上面的代碼,自己簡單地加一個圖形介面
iOS 將一個檔案夾下的所有3倍圖自動轉成2倍圖程式源碼