Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,11 @@ ios-icon
欢迎Pull Request和Star。

#Install
1. ios-icon使用了`imagemagick`,如果你还没有安装,在OSX中,你可以使用`brew install imagemagick`安装。
1. ios-icon使用了`graphicsmagick`,如果你还没有安装,在OSX中,你可以使用`brew install graphicsmagick`安装。
2. 你必需安装好node.js环境(废话)
3. `npm install -g ios-icon`,建议使用-g全局安装

如果你没有安装`imagemagick`,则可能会出现这样的错误:
如果你没有安装`graphicsmagick`,则可能会出现这样的错误:

````js
events.js:72
Expand Down
228 changes: 122 additions & 106 deletions lib/config.js
Original file line number Diff line number Diff line change
@@ -1,107 +1,123 @@
module.exports = {
"images" : [
{
"size" : "29x29",
"idiom" : "iphone",
"filename" : "icon_29_iphone.png",
"scale" : "1x"
},
{
"size" : "29x29",
"idiom" : "iphone",
"filename" : "icon_29_iphone@2x.png",
"scale" : "2x"
},
{
"size" : "40x40",
"idiom" : "iphone",
"filename" : "icon_40_iphone@2x.png",
"scale" : "2x"
},
{
"size" : "57x57",
"idiom" : "iphone",
"filename" : "icon_57_iphone.png",
"scale" : "1x"
},
{
"size" : "57x57",
"idiom" : "iphone",
"filename" : "icon_57_iphone@2x.png",
"scale" : "2x"
},
{
"size" : "60x60",
"idiom" : "iphone",
"filename" : "icon_60_iphone@2x.png",
"scale" : "2x"
},
{
"size" : "29x29",
"idiom" : "ipad",
"filename" : "icon_29_ipad.png",
"scale" : "1x"
},
{
"size" : "29x29",
"idiom" : "ipad",
"filename" : "icon_29_ipad@2x.png",
"scale" : "2x"
},
{
"size" : "40x40",
"idiom" : "ipad",
"filename" : "icon_40_ipad.png",
"scale" : "1x"
},
{
"size" : "40x40",
"idiom" : "ipad",
"filename" : "icon_40_ipad@2x.png",
"scale" : "2x"
},
{
"size" : "50x50",
"idiom" : "ipad",
"filename" : "icon_50_ipad.png",
"scale" : "1x"
},
{
"size" : "50x50",
"idiom" : "ipad",
"filename" : "icon_50_ipad@2x.png",
"scale" : "2x"
},
{
"size" : "72x72",
"idiom" : "ipad",
"filename" : "icon_72_ipad.png",
"scale" : "1x"
},
{
"size" : "72x72",
"idiom" : "ipad",
"filename" : "icon_72_ipad@2x.png",
"scale" : "2x"
},
{
"idiom" : "ipad",
"size" : "76x76",
"filename" : "icon_76_ipad.png",
"scale" : "1x"
},
{
"idiom" : "ipad",
"size" : "76x76",
"filename" : "icon_76_ipad@2x.png",
"scale" : "2x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
},
"properties" : {
"pre-rendered" : true
module.exports =
{
"images" : [
{
"size" : "29x29",
"idiom" : "iphone",
"filename" : "AppIcon-29.png",
"scale" : "1x"
},
{
"size" : "29x29",
"idiom" : "iphone",
"filename" : "AppIcon-29@2x.png",
"scale" : "2x"
},
{
"size" : "29x29",
"idiom" : "iphone",
"filename" : "AppIcon-29@3x.png",
"scale" : "3x"
},
{
"size" : "40x40",
"idiom" : "iphone",
"filename" : "AppIcon-40@2x.png",
"scale" : "2x"
},
{
"size" : "40x40",
"idiom" : "iphone",
"filename" : "AppIcon-40@3x.png",
"scale" : "3x"
},
{
"idiom" : "iphone",
"size" : "57x57",
"filename" : "AppIcon-57.png",
"scale" : "1x"
},
{
"idiom" : "iphone",
"size" : "57x57",
"filename" : "AppIcon-57@2x.png",
"scale" : "2x"
},
{
"size" : "60x60",
"idiom" : "iphone",
"filename" : "AppIcon-60@2x.png",
"scale" : "2x"
},
{
"size" : "60x60",
"idiom" : "iphone",
"filename" : "AppIcon-60@3x.png",
"scale" : "3x"
},
{
"size" : "29x29",
"idiom" : "ipad",
"filename" : "AppIcon-29.png",
"scale" : "1x"
},
{
"size" : "29x29",
"idiom" : "ipad",
"filename" : "AppIcon-29@2x.png",
"scale" : "2x"
},
{
"size" : "40x40",
"idiom" : "ipad",
"filename" : "AppIcon-40.png",
"scale" : "1x"
},
{
"size" : "40x40",
"idiom" : "ipad",
"filename" : "AppIcon-40@2x.png",
"scale" : "2x"
},
{
"idiom" : "ipad",
"size" : "50x50",
"filename" : "AppIcon-50.png",
"scale" : "1x"
},
{
"idiom" : "ipad",
"size" : "50x50",
"filename" : "AppIcon-50@2x.png",
"scale" : "2x"
},
{
"idiom" : "ipad",
"size" : "72x72",
"filename" : "AppIcon-72.png",
"scale" : "1x"
},
{
"idiom" : "ipad",
"size" : "72x72",
"filename" : "AppIcon-72@2x.png",
"scale" : "2x"
},
{
"size" : "76x76",
"idiom" : "ipad",
"filename" : "AppIcon-76.png",
"scale" : "1x"
},
{
"size" : "76x76",
"idiom" : "ipad",
"filename" : "AppIcon-76@2x.png",
"scale" : "2x"
}
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
27 changes: 12 additions & 15 deletions lib/index.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
var im = require('imagemagick')
var im = require('gm')
, path = require('path')
, fs = require('fs')
, async = require('async')
Expand Down Expand Up @@ -49,23 +49,20 @@ maker.prototype.resize = function(item, done){
var dstPath = path.join(this.options.output, item.filename);
var size = item.size.replace(/(\d+).+/, "$1");
if(item.scale == '2x') size = size * 2;
if(item.scale == '3x') size = size * 3;


im.resize({
srcPath: this.options.originIcon,
srcData: this.srcData,
dstPath: dstPath,
quality: 1,
format: 'png',
width: size,
height: size
}, function(err, stdout, stderr){
console.log(strformat('{0}创建完成', item.filename));
if (err) throw err;
done();
});
im(this.options.originIcon)
.resize(size, size)
.quality(1)
.setFormat('png')
.write(dstPath, function(err) {
console.log(strformat('{0} 创建完成', item.filename));
if (err) throw err;
done();
});
};

exports.make = function(options){
new maker(options);
}
}
6 changes: 3 additions & 3 deletions lib/maker.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ var program = require('commander')
program
.version(JSON.parse(fs.readFileSync(__dirname + '/../package.json', 'utf8')).version)
.usage('[debug] [options] [files]')
.option('-i --icon', '1024X1024的icon文件,默认为当前文件夹下的icon.png')
.option('-o --output', '要输出的目录,默认为当前文件夹')
.option('-i, --icon [icon path]', '1024X1024的icon文件,默认为当前文件夹下的icon.png', 'icon.png')
.option('-o, --output [output directory]', '要输出的目录,默认为当前文件夹', '.')
.parse(process.argv);

program.name = 'ios-icon';
Expand All @@ -31,4 +31,4 @@ var contents = path.join(output, "Contents.json");
ios_icon.make({
output: output,
originIcon: icon
});
});
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
"dependencies": {
"underscore":"",
"underscore.string": "",
"imagemagick": "",
"gm": "",
"commander": "*",
"async": "*",
"strformat": "*"
Expand Down