Git Product home page Git Product logo

ticons-cli's Introduction

TiCons CLI Titanium Alloy

Command-line and CommonJS module version of TiCons to generate icons and splash screens (aka launch images) for Titanium & Alloy apps.

NOTE: In Titanium 5.0 the DefaultIcon.png was introduced. See DefaultIcon for how TiCons handles this.

Prerequisites

Install npm

As global CLI:

[sudo] npm install -g ticons

As a dependency in your projects package.json:

{
  "name": "your-project",
  "dependencies": {
    "ticons": "*"
  }
}

Quick Start

TiCons can be used both as CLI and CommonJS module.

CLI

Hit ticons -h for full usage, but thanks to Smart Defaults this will work in most cases:

  • Detects if the CWD contains a classic or Alloy project, what platforms are targeted and then generates required icons using iphone/iTunesArtwork@2x as input:

    ~/myproject $ ticons icons
    
  • Detects if the CWD contains a classic or Alloy project, what platforms are targeted, if the app is locked to one orientation and then generates required splashes using [email protected] as input. If Android is targetted, 9-Patch images will be generated and the required theme.xml created for you if missing.

    ~/myproject ticons splashes
    
  • Detects if the CWD contains a classic or Alloy project, what platforms are targeted and then generates missing asset densities iphone/images as input. If both iOS and Android MDPI are targetted, images is used for both iOS and Android MDPI.

    ~/myproject ticons assets
    

You can specify diferent input (ticons icons myIcon.png) and options to override the defaults for fine-tune the results to your liking.

Module

For the module use the full option names as properties in the first argument. Specify a callback that accepts an error and result as the second argument.

var ticons = require('ticons');

ticons.icons({
	input: 'icon.png',
	outputDir: 'foo',
	platforms: ['ipad','android'],
	classic: true
}, function (err, output) {
	
	if (err) {
		throw err;
	}
	
	console.log('generated files: ' + output.join(', '));
});

Smart defaults

If the outputDir (or -d or CWD if missing) contains a project, TiCons will figure out lots of smart defaults:

  • If the project is classic instead of Alloy.
  • What platforms are targetted (<deployment-targets>).
  • If the app is locked to one orientation (UISupportedInterfaceOrientations etc.).
  • The SDK version used (for DefaultIcon).

In the CLI, you can add the trace (-t) option to see exactly what configuration is used based on your options and the smart defaults.

Splashes

Storyboard Launch Screens

Since 0.21 TiCons can also generate LaunchLogo*.png files that Titanium can use to generate storyboard launch images. Since Titanium falls back to DefaultIcon*.png for this you only need these if you want it to be different from your app icon. Just add the --storyboard option to have TiCons generate Launch Logos instead of regular splash images.

9-Patch

By default TiCons generated 9-Patch splashes for Android. You can disable this using --no-nine (-n) option.

Understand that TiCons will fit your input image inside the not-long-port-? dimensions and then add 9-Patch black pixels to indicate that only the outer most line of pixels on each side should be stretched. For best results use a square image of 1600x1600 pixels that includes the minimal amount of padding, making sure that the outer most pixels are all of the same color.

Since 0.6.0 the generated images are named background.9.png so that if you don't use a custom theme and build against Titanium 3.3.0.GA or later the splash will automatically be loaded. If you're using a custom theme, please see the docs on how to use the generated splash background. Also make sure the assets android directory does not contain any old splashes, because else they will take precendece.

Cropping

By default on all platforms and on all with --no-nine, the input image will be first resized to cover the target dimension and then cropped to fit exactly. For best results use a 2208x2208 image that has its main artwork in the center 1100x1100 pixels. Anything outside of that box might be cropped depending on the width/height ratio of the target splashes.

Containing

Since 0.10.0 if you give --width <width> and --height <height> then TiCons will try not to crop that area, taken from the centre of the input image. This will let you protect the main content (logo) of the image. Depending on the size of your input image, it might not be possible to both contain this content as well as fit in the input image. In that case, it will give a warning telling you what the size of the input image needs to be and then continue to still crop as usual.

Filling

Use --no-crop (-c) to resize the input image to fit instead of cover the target dimension. The remaining area is then filled by repeating the outer most lines of pixels on each side, basically simulating 9-Patch, but then for all platforms. For best results, see the best practice for 9-Patch and use an image of at least 2208x2208 pixels.

Locale

You can use the locale (-l) option to specify a 2-letter locale. Only splashes supporting locale paths will be generated when you use this option.

Fix or not to Fix

By default, some errors in the Appcelerator specs related to iOS and Android splash screen dimensions are fixed. Use -no-fix to disable this.

Icons

Radius

If you use the iTunesArtwork@2x as input for Android and other platforms icons, you might want to round the corners a bit as only iOS does this for you. Simply pass a percentage between 0 and 50 to --radius (-r). Seems like 18 is about what it was for iOS6.

DefaultIcon

Since Titanium 5.0 you no longer need to provide all required iOS icon sizes. A single DefaultIcon.png in the root of your project will do. In Titanium 5.1 support for Windows was added. You can have a platform specific DefaultIcon-ios.png or DefautlIcon-windows.png as well, since for iOS it needs to be 24-bit (no alpha).

TiCons will automatically generate the right icons based on the sdk-version option. It defaults to the SDK version found in your tiapp.xml or else the latest. If you have only iOS or Windows as the target platforms for your project/TiCons it will add the platform-specific suffix to the filename.

Adaptive Icons (Android Only)

Pass to adaptiveicons command the png icon 1024x1024 (https://developer.android.com/develop/ui/views/launch/icon_design_adaptive)

Assets

The assets command is assumes the following directories:

  • iphone/images for iOS Retina (@2x) and HD Retina (@3x).
  • images for iOS non-retina, Android MDPI and other platforms.
  • android/images/res-* for other Android densities.

Just run ticons assets in your project root and it will use (HD) Retina images or Android xxxhdpi or xxhdpi images to generate the others, unless the target image is newer, a 9-patch version is found or the target dpi is higher then the input.

You can also point to a specific image or directory by adding an argument like ticons assets Resources/images/iphone. TiCons will try to determine the input dpi based on the location.

Use any input and output

Since 0.22 you can now set the exact input DPI with the --orig-dpi option, the input file or folder no longer needs to be under the output and if the output path ends with Resources or assets, TiCons will work relative to that. This allows you to use any input and write to any output, e.g.:

ticons assets ./my-hires-images ./app/widgets/my-widget/assets --orig-dpi @3x

Widgets

You can also run ticons assets in a widget root, which will cause TiCons to read the target platforms from widget.json instead of tiapp.xml.

Roadmap

Feel free to fork and contribute towards resolving requests.

Tests Travis

  1. Install node.js.
  2. Install grunt: [sudo] npm install -g grunt-cli
  3. Clone the repo: git clone https://github.com/fokkezb/ticons-cli.git && cd ticons-cli && npm install
  4. Run tests: grunt test

Issues

Please report issues and features requests in the repo's issue tracker.

License

Distributed under MIT License.

ticons-cli's People

Contributors

brentonhouse avatar cbrunnkvist avatar dbankier avatar dependabot[bot] avatar dsshap avatar fokkezb avatar hansemannn avatar jasonkneen avatar maccesar avatar ottopic avatar sandrolain avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ticons-cli's Issues

Unhandled 'error' event

Obviously I'm doing something wrong, but this is what I get:

$ ticons splashes
[INFO]  Reading input dimensions

events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: spawn ENOENT
    at errnoException (child_process.js:980:11)
    at Process.ChildProcess._handle.onexit (child_process.js:771:34)

It's in the root of an Alloy project. SDK 3.4.0

I can't use XXXHDPI now

Why have you change max dpi to XXHDPI ?
I only use the assets in xxxhdpi to generate the others, so I don't have my assets in xxhdpi originally, and if I use those in xxxhdpi they are not the right size.

windows phone 8 icon sizes

There is no option for choosing window phone 8 platform when generating icons.
Phonegap Build supports windows phone 8 with 2 icons 99x99 and 159x159 background if I'm not mistaking.
Is there a way to choose that, or custom generate icons?

Outdated deps - "primordials not defined"

When trying to execute the main command under Node 12.19, a weird primordials not defined popped-up. It seems it's related to an internal dependency which is not compatible with Node 12+, the graceful-fs package. It's required directly by the package, but also by configstore and update-notifier (which is already in v5?).

These deps need some bumps so we can keep using the package in updated Node versions.

It seems that forcing the package.json's update-notifier to ^5.0.0 and running npm install for each of those three outdated deps does the trick... at least to run ticons icons.

iphone icons

when make an icon 2048*2048 to this path iphone/iTunesArtwork@2x

and run ~/myproject $ ticons icons

doesn`t generate iphone icons !

ticons splashes failed with error if input not passed

Error due to cfg.input = undefined on line 245 config.js

im(cfg.input).ping().size(function(err, size) {
      if (err) {
        return callback(err);
      }

      cfg.inputWidth = size.width;
      cfg.inputHeight = size.height;

      finish(cfg, callback);
    });
  } else {
    finish(cfg, callback);
  }

need help no ios icons

Hello,

I'have installed cli and run the following code.

ticons icons App\ Icon\ Base.png -d ./ -p all

However it generates without ios platorm

Here is output

[INFO]  Reading input dimensions
[INFO]  Starting 22 jobs
[INFO]  Generated: platform/android/res/drawable-mdpi/appicon.png
[INFO]  Generated: Resources/android/appicon.png
[INFO]  Generated: apple-watch/[email protected]
[INFO]  Generated: platform/android/res/drawable-hdpi/appicon.png
[INFO]  Generated: apple-watch/[email protected]
[INFO]  Generated: apple-watch/[email protected]
[INFO]  Generated: Resources/windows/StoreLogo.png
[INFO]  Generated: apple-watch/[email protected]
[INFO]  Generated: apple-watch/[email protected]
[INFO]  Generated: Resources/blackberry/appicon.png
[INFO]  Generated: Resources/windows/Logo.png
[INFO]  Generated: platform/android/res/drawable-xxhdpi/appicon.png
[INFO]  Generated: Resources/mobileweb/appicon.png
[INFO]  Generated: apple-watch/[email protected]
[INFO]  Generated: apple-watch/[email protected]
[INFO]  Generated: Resources/windows/SmallLogo.png
[INFO]  Generated: Resources/windows/Square44x44Logo.scale-100.png
[INFO]  Generated: platform/android/res/drawable-xhdpi/appicon.png
[INFO]  Generated: Resources/tizen/appicon.png
[INFO]  Generated: apple-watch/[email protected]
[INFO]  Generated: DefaultIcon.png
[INFO]  Generated: MarketplaceArtwork.png
[OK]    Generated 22 icons

Here is info of App Icon Base.png

General
Complete name                            : App Icon Base.png
Format                                   : PNG
Format/Info                              : Portable Network Graphic
File size                                : 509 KiB

Image
Format                                   : PNG
Format/Info                              : Portable Network Graphic
Width                                    : 1 024 pixels
Height                                   : 1 396 pixels
Bit depth                                : 32 bits
Compression mode                         : Lossless
Stream size                              : 509 KiB (100%)

Ticons
0.15.2

imagemagick/6.9.2-3

OSX El Capitan 10.11

Splashes are "square"

I use a png in 2208x2208 to generate my splashes, since the last version of ticons the generated splashes are "square".
Example: [email protected] is 960x960 instead of 640x960

Option --label for asstets.

Hello,
--label option draw the name of the icon/splash on it for debugging.
Not assets ? It would be great

Icons: Add option to overlay ribbon

To identify beta builds of apps, it would be nice to have --ribbon-color and --ribbon-text options that would overlay a ribbon over the icon.

Not working on windows...

I am getting an error when trying to run on Windows 7. I will try to debug it to get more info...

C:\test>ticons splashes -t -d .\output "xhdpi (640x960).png"
[INFO]  Reading input dimensions

events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: spawn ENOENT
    at errnoException (child_process.js:1011:11)
    at Process.ChildProcess._handle.onexit (child_process.js:802:34)

CLI not creating Android Markplace Icon

ticons icons -r 20 -d ./icons -p android -a icon.png

I get an MarketplaceArtwork.png but I don't get the Android's Icon with my Border Radius and 512x512 to upload to PlayStore

I need to add something else to generate the Android's PlayStore Icon?

Thanks

Icons: Only generate DetaultIcon.png for ios/iphone/iPad

Both on the TiCons web app or local node CLI - it does not generate icons for different densities

ticons icons icon.png --output-dir icon/ --alloy --platforms iphone,ipad --min-dpi 120 --max-dpi 640
[INFO]  Reading input dimensions
[INFO]  Starting 1 jobs
[INFO]  Generated: icon/DefaultIcon.png
[OK]    Generated 1 icons

Assets: Should be able to execute on single file

Lets say I added a new image to my project and just want to generate all the resources for that one file. Something along these lines:

~/myproject ticons assets "primaryBackground.png"

I currently get this error when running the above:
[ERROR] could not find input path: primaryBackground.png

I looked at the read me and saw you should be able to run this:

ticons icons myIcon.png

But i was unable to get this working for me.

TypeError: Invalid Version: true

I'm trying to use ticons (0.14.0) for generating icons outside of a Titanium app. I can successfully create Splash images, but get an error when I try to create Icons:

$ ticons icons splash-generic.png --output-dir part --alloy --platforms iphone,ipad,android --sdk-version '4.0.0' -t
[INFO]  Reading input dimensions
[DEBUG] Initialized config:

 type: icon
 cli: true
 input: /Users/foo/CordovaApps/splash-generic.png
 platforms: iphone, ipad, android
 radius: 0
 sdkVersion: true
 locale:
 minDpi: 160
 maxDpi: 480
 orientation:
 fix: true
 nine: true
 crop: true
 label: false
 outputDir: part
 assetsDir: app/assets
 alloy: true
 trace: true
 inputWidth: 2208
 inputHeight: 2208
 inputRatio: 1
 widget: false
 ios: true
 iphone: true
 ipad: true
 android: true
 mobileweb: false
 blackberry: false
 tizen: false
 apple-watch: false
 windows: false


/usr/local/lib/node_modules/ticons/node_modules/semver/semver.js:279
    throw new TypeError('Invalid Version: ' + version);
          ^
TypeError: Invalid Version: true
    at new SemVer (/usr/local/lib/node_modules/ticons/node_modules/semver/semver.js:279:11)
    at compare (/usr/local/lib/node_modules/ticons/node_modules/semver/semver.js:569:10)
    at lt (/usr/local/lib/node_modules/ticons/node_modules/semver/semver.js:603:10)
    at cmp (/usr/local/lib/node_modules/ticons/node_modules/semver/semver.js:644:21)
    at Comparator.test (/usr/local/lib/node_modules/ticons/node_modules/semver/semver.js:711:10)
    at testSet (/usr/local/lib/node_modules/ticons/node_modules/semver/semver.js:1058:17)
    at Range.test (/usr/local/lib/node_modules/ticons/node_modules/semver/semver.js:1050:9)
    at Function.satisfies (/usr/local/lib/node_modules/ticons/node_modules/semver/semver.js:1096:16)
    at /usr/local/lib/node_modules/ticons/lib/jobs.js:389:53
    at Function._.each._.forEach (/usr/local/lib/node_modules/ticons/node_modules/underscore/underscore.js:158:9)

I get the same result whether I specify SDK version in quotes or not. Any thoughts? Thanks!

Assets Error on Android

I'm doing ticons assets on my root folder and generating the images from one single image iphone/images/[email protected]:
1 3x

but when I do this, generate assets, I get an strange error when I try to compile the app.

[ERROR] Failed to compile Java source files:
[ERROR]   
[ERROR] /Users/DHennrich/Documents/Projects/TestFB/build/android/gen/android/support/v7/appcompat/R.java:1951: error: underscores in literals are not supported in -source 1.6
[ERROR]         public static final int 1_4a47a0db6e=0x7f020000;
[ERROR]                                 ^
[ERROR]   (use -source 7 or higher to enable underscores in literals)
[ERROR] /Users/DHennrich/Documents/Projects/TestFB/build/android/gen/android/support/v7/appcompat/R.java:1951: error: <identifier> expected
[ERROR]         public static final int 1_4a47a0db6e=0x7f020000;
[ERROR]                                             ^
[ERROR] /Users/DHennrich/Documents/Projects/TestFB/build/android/gen/br/com/feedbackbrasil/R.java:1951: error: underscores in literals are not supported in -source 1.6
[ERROR]         public static final int 1_4a47a0db6e=0x7f020000;
[ERROR]                                 ^
[ERROR]   (use -source 7 or higher to enable underscores in literals)
[ERROR] /Users/DHennrich/Documents/Projects/TestFB/build/android/gen/br/com/feedbackbrasil/R.java:1951: error: <identifier> expected
[ERROR]         public static final int 1_4a47a0db6e=0x7f020000;
[ERROR]                                             ^
[ERROR] /Users/DHennrich/Documents/Projects/TestFB/build/android/gen/ti/modules/titanium/ui/R.java:1951: error: underscores in literals are not supported in -source 1.6
[ERROR]         public static final int 1_4a47a0db6e=0x7f020000;
[ERROR]                                 ^
[ERROR]   (use -source 7 or higher to enable underscores in literals)
[ERROR] /Users/DHennrich/Documents/Projects/TestFB/build/android/gen/ti/modules/titanium/ui/R.java:1951: error: <identifier> expected
[ERROR]         public static final int 1_4a47a0db6e=0x7f020000;
[ERROR]                                             ^
[ERROR] 6 errors

ERROR  | ti run exited with error code 1

I double check to see if this error only appears when I generate images with ticons assets and I can confirm that this only happens and I do this.

Maybe something is wrong with the image?

Thanks @FokkeZB

problem on libpng after using Ticons assets

I'm getting theses erros after I use ticons assets to generate my assets.

[ERROR] /Users/DHennrich/Documents/Projects/EasyTicket/build/android/res/drawable-hdpi/background.9.png: libpng warning: cHRM: inconsistent chromaticities
[ERROR] /Users/DHennrich/Documents/Projects/EasyTicket/build/android/res/drawable-xhdpi/background.9.png: libpng warning: cHRM: inconsistent chromaticities
[ERROR] /Users/DHennrich/Documents/Projects/EasyTicket/build/android/res/drawable-xxhdpi/background.9.png: libpng warning: cHRM: inconsistent chromaticities
[ERROR] /Users/DHennrich/Documents/Projects/EasyTicket/build/android/res/drawable-hdpi/background1_85898384a4.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] /Users/DHennrich/Documents/Projects/EasyTicket/build/android/res/drawable-xhdpi/background1_85898384a4.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] /Users/DHennrich/Documents/Projects/EasyTicket/build/android/res/drawable-xxhdpi/background1_85898384a4.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] /Users/DHennrich/Documents/Projects/EasyTicket/build/android/res/drawable-hdpi/background2_cf7416aebc.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] /Users/DHennrich/Documents/Projects/EasyTicket/build/android/res/drawable-xhdpi/background2_cf7416aebc.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] /Users/DHennrich/Documents/Projects/EasyTicket/build/android/res/drawable-xxhdpi/background2_cf7416aebc.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] /Users/DHennrich/Documents/Projects/EasyTicket/build/android/res/drawable-hdpi/background3_a185200412.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] /Users/DHennrich/Documents/Projects/EasyTicket/build/android/res/drawable-xhdpi/background3_a185200412.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] /Users/DHennrich/Documents/Projects/EasyTicket/build/android/res/drawable-xxhdpi/background3_a185200412.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] /Users/DHennrich/Documents/Projects/EasyTicket/build/android/res/drawable-hdpi/botaoticket_fae5eace02.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] /Users/DHennrich/Documents/Projects/EasyTicket/build/android/res/drawable-xhdpi/botaoticket_fae5eace02.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] /Users/DHennrich/Documents/Projects/EasyTicket/build/android/res/drawable-xxhdpi/botaoticket_fae5eace02.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] /Users/DHennrich/Documents/Projects/EasyTicket/build/android/res/drawable-hdpi/defaultimage_343b0331ba.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] /Users/DHennrich/Documents/Projects/EasyTicket/build/android/res/drawable-xhdpi/defaultimage_343b0331ba.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] /Users/DHennrich/Documents/Projects/EasyTicket/build/android/res/drawable-xxhdpi/defaultimage_343b0331ba.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] /Users/DHennrich/Documents/Projects/EasyTicket/build/android/res/drawable-hdpi/eclipse_96ce2d1a51.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] /Users/DHennrich/Documents/Projects/EasyTicket/build/android/res/drawable-xhdpi/eclipse_96ce2d1a51.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] /Users/DHennrich/Documents/Projects/EasyTicket/build/android/res/drawable-xxhdpi/eclipse_96ce2d1a51.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] /Users/DHennrich/Documents/Projects/EasyTicket/build/android/res/drawable-hdpi/eclipse_azul_0b0d79036c.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] /Users/DHennrich/Documents/Projects/EasyTicket/build/android/res/drawable-xhdpi/eclipse_azul_0b0d79036c.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] /Users/DHennrich/Documents/Projects/EasyTicket/build/android/res/drawable-xxhdpi/eclipse_azul_0b0d79036c.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] /Users/DHennrich/Documents/Projects/EasyTicket/build/android/res/drawable-hdpi/filtrobtn_59714daeef.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] /Users/DHennrich/Documents/Projects/EasyTicket/build/android/res/drawable-xhdpi/filtrobtn_59714daeef.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] /Users/DHennrich/Documents/Projects/EasyTicket/build/android/res/drawable-xxhdpi/filtrobtn_59714daeef.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] /Users/DHennrich/Documents/Projects/EasyTicket/build/android/res/drawable-xxhdpi/logo_1bb87d41d1.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] /Users/DHennrich/Documents/Projects/EasyTicket/build/android/res/drawable-hdpi/ticket_920159088e.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] /Users/DHennrich/Documents/Projects/EasyTicket/build/android/res/drawable-xhdpi/ticket_920159088e.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] /Users/DHennrich/Documents/Projects/EasyTicket/build/android/res/drawable-xxhdpi/ticket_920159088e.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] /Users/DHennrich/Documents/Projects/EasyTicket/build/android/res/drawable-hdpi/topnav_d03ac386ef.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] /Users/DHennrich/Documents/Projects/EasyTicket/build/android/res/drawable-xhdpi/topnav_d03ac386ef.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] /Users/DHennrich/Documents/Projects/EasyTicket/build/android/res/drawable-xxhdpi/topnav_d03ac386ef.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited

20pt Icons for iOS Notifications

The smallest icon this library generates appears to be 29pt. However, iOS apps need a 20pt icon for notifications:

screen shot 2016-09-19 at 11 20 38 am

Is there a way to produce 20pt icons with this library? I tried setting the --min-dpi flag, but the lowest this goes is 120dpi.

v0.14.0 - which iOS icons should be generated?

I was using ticons to generate splashes an icons for my project when I saw this message last week:

-----------------------------------------
Update available: 0.14.0 (current: 0.13.3)
Run npm update -g ticons to update
-----------------------------------------

So, after heeding the upgrade hint (despite not seeing that release here on GitHub?) it now generates fewer images. Is that on purpose? What about -60, -small, appicon@3x and so on? Here is a diff in the difference in output of icons -p android,iphone -m mdpi -M xdpi.

--- 0.13.3  2015-09-07 14:43:30.000000000 +0700
+++ 0.14.0  2015-09-07 14:16:28.000000000 +0700
@@ -4,16 +4,7 @@
 [INFO]  Generated: ../iTunesConnect.png
 [INFO]  Generated: ../app/assets/iphone/iTunesArtwork@2x
 [INFO]  Generated: ../app/assets/iphone/iTunesArtwork
-[INFO]  Generated: ../app/assets/iphone/[email protected]
 [INFO]  Generated: ../app/assets/iphone/appicon.png
-[INFO]  Generated: ../app/assets/iphone/[email protected]
-[INFO]  Generated: ../app/assets/iphone/[email protected]
-[INFO]  Generated: ../app/assets/iphone/appicon-Small.png
-[INFO]  Generated: ../app/assets/iphone/[email protected]
-[INFO]  Generated: ../app/assets/iphone/appicon-Small-40.png
-[INFO]  Generated: ../app/assets/iphone/[email protected]
-[INFO]  Generated: ../app/assets/iphone/[email protected]
-[INFO]  Generated: ../app/assets/iphone/appicon-60.png
 [INFO]  Generated: ../app/assets/android/appicon.png
 [INFO]  Generated: ../MarketplaceArtwork.png
-[OK]    Generated 18 icons
+[OK]    Generated 9 icons

Add support for non orientation specific android splash screens.

In Android it is possible to use the same screen density specific resource for all orientations.

-android/
--res/
---drawable-hdpi/
----splash.9.png
---drawable-ldpi/
----splash.9.png
---drawable-mdpi/
----splash.9.png
---drawable-xdpi/
----splash.9.png
---drawable-xxdpi/
----splash.9.png
---values/
----theme.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Theme.Titanium" parent="android:Theme">
    <item name="android:windowBackground">@drawable/splash</item>
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowFullscreen">true</item>
</style>
</resources>

[ERROR] Could not find input images

Hi Fokke,
I found a bug.

After v0.22.0, 'ticons assets' got an error.

How to reproduce

  • Create new alloy titanium project
  • Delete app/assets/android/images/*.
  • Create app/assets/android/images/res-xxxhdpi, and put on image file.

And run ticons assets

v0.22.0 : [ERROR] Could not find input images
v0.21.2: It works properly

Command failed after MacOS upgrade to Sonoma 14.0

In the past I had added config to generate appicon_foreground icons. After the update no longer works.

[INFO] Starting 5 jobs
[DEBUG] Executing: convert -density 160x160 /assets/icona-sfondo-1024x1024.png -resize 108x108^ -gravity Center -crop 108x108+0+0 +profile "*" -units PixelsPerInch app/platform/android/res/mipmap-mdpi/appicon_foreground.png
[DEBUG] Executing: convert -density 640x640 /assets/icona-sfondo-1024x1024.png -resize 432x432^ -gravity Center -crop 432x432+0+0 +profile "*" -units PixelsPerInch app/platform/android/res/mipmap-xxxhdpi/appicon_foreground.png
[DEBUG] Executing: convert -density 240x240 /assets/icona-sfondo-1024x1024.png -resize 162x162^ -gravity Center -crop 162x162+0+0 +profile "*" -units PixelsPerInch app/platform/android/res/mipmap-hdpi/appicon_foreground.png
[DEBUG] Executing: convert -density 320x320 /assets/icona-sfondo-1024x1024.png -resize 216x216^ -gravity Center -crop 216x216+0+0 +profile "*" -units PixelsPerInch app/platform/android/res/mipmap-xhdpi/appicon_foreground.png
[DEBUG] Executing: convert -density 480x480 /assets/icona-sfondo-1024x1024.png -resize 324x324^ -gravity Center -crop 324x324+0+0 +profile "*" -units PixelsPerInch app/platform/android/res/mipmap-xxhdpi/appicon_foreground.png
[ERROR] Error: Command failed:

anyone who can help me?

Wrong size configuration of android splashes? same configuration for long and not-long assets

This has been bugging me for a while.. It looks like most (not all) of the android screens sizes in specs.js have the same width and length for both the long and not-long screen resolutions.
E.g.
exports['android-default-notlong-port-xxxhdpi'] = {
[...]
width: 1280,
height: 1920,
[...]
};
exports['android-default-long-port-xxxhdpi'] = {
[...]
width: 1280,
height: 1920,
[...]
};
This looks so obviously wrong that I'm wondering if I am missing something instead.
If you can confirm this is a bug I'll be happy to submit a pull request to fix this.

Fix security issues

│ Critical │ Command Injection │
│ Package │ gm │
│ Patched in │ >=1.21.1 │
│ Dependency of │ ticons │
│ Path │ ticons > gm │
│ More info │ https://nodesecurity.io/advisories/54

│ Moderate │ Regular Expression Denial of Service │
│ Package │ semver │
│ Patched in │ >=4.3.2 │
│ Dependency of │ ticons │
│ Path │ ticons > update-notifier > semver │
│ More info │ https://nodesecurity.io/advisories/31

│ Low │ Regular Expression Denial of Service │
│ Package │ debug │
│ Patched in │ >= 2.6.9 < 3.0.0 || >= 3.1.0 │
│ Dependency of │ ticons │
│ Path │ ticons > gm > debug │
│ More info │ https://nodesecurity.io/advisories/534

Any way to provide a custom specs?

This is mainly for the benefits of creating splash images of different sizes than defined in the specs.js for Android. Looking into the code, it seems there is no way to customize the specs.js.

Thanks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.