Git Product home page Git Product logo

frameit's People

Contributors

adriano-s avatar bartl-git avatar bkaaa avatar bradtheappguy avatar brookstalley avatar cybertk avatar fulldecent avatar hanneskaeufler avatar jeeftor avatar jinjorge avatar julsh avatar krausefx avatar mfurtak avatar milch avatar notjosh avatar ohayon avatar onato avatar peterstuart avatar readmecritic avatar shrinkrayio avatar snoato avatar vpolouchkine avatar yjukaku 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  avatar  avatar  avatar  avatar  avatar

frameit's Issues

Doesn't support multiple lines

It doesn't support multiple lines. At least I couldn't figure it out.

I wish it would automatically wrap, but even trying to force it with \n and \r didn't work.

Size new image completely wrong

Hi, the size of the framed images are all completely wrong.
For example, the size of the iPad screenshot of 1536 x 2048 is in the new framed version only 891 x 3126. Perhaps my macbook retina screen causes a bug?

verbose-flag would really help

It would be generally useful with a flag telling frameit to be verbose about what it is doing. Ideally logging the ImageMagick commands used, allowing us to try the steps individually from the command-line.

I am having problem putting frames on screenshots, that end up non-transparent and with jpeg artefacts, as if the images where converted to jpeg during processing and then saved as png. Really weird.

It is probably my ImageMagick install that is misbehaving, but this is very hard to find and fix without knowing more about what goes on.

Documentation for Framefile.json

It'd be helpful to have some documentation around Framefile.json. What is required, what is optional?

I'm trying to just have a title and no keyword, but I'm not getting it to work yet.

The dimensions of one or more screenshots are wrong

I'm trying to convert my iPhone 6 and 6+ screenshots to frameit.

[00:19:10]: Converting PSD file '/Users/khoa/.frameit/devices_frames/iPhone_6_Horz_Slvr_sRGB_0914.psd'
[00:19:11]: Converting PSD file '/Users/khoa/.frameit/devices_frames/iPhone_6_Horz_SpaceGray_sRGB_0914.psd'
[00:19:11]: Converting PSD file '/Users/khoa/.frameit/devices_frames/iPhone_6_Plus_Horz_Slvr_sRGB_0914.psd'
[00:19:12]: Converting PSD file '/Users/khoa/.frameit/devices_frames/iPhone_6_Plus_Horz_SpaceGray_sRGB_0914.psd'
[00:19:12]: Converting PSD file '/Users/khoa/.frameit/devices_frames/iPhone_6_Plus_Vert_Slvr_sRGB_0914.psd'
[00:19:12]: Converting PSD file '/Users/khoa/.frameit/devices_frames/iPhone_6_Plus_Vert_SpaceGray_sRGB_0914.psd'
[00:19:13]: Converting PSD file '/Users/khoa/.frameit/devices_frames/iPhone_6_Vert_Slvr_sRGB_0914.psd'
[00:19:13]: Converting PSD file '/Users/khoa/.frameit/devices_frames/iPhone_6_Vert_SpaceGray_sRGB_0914.psd'

All went fine, but the generated screenshot frame for iPhone 6 is 613x1255 (where it must be 750x1334), hence iTunes Connect errors The dimensions of one or more screenshots are wrong
The same for iPhone 6+, the frame is 622x1255, where it should be 1242x2208

The wrong image sizes are actually from the psd files https://developer.apple.com/app-store/marketing/guidelines/#images

Unsupported screen size [1324, 895]

Getting a Unsupported screen size on running frameit and pushing to iTunes Connect.

I am only getting this for frameit images that do not have text. Is text required?

[06:46:01]: fastlane finished with errors
/Library/Ruby/Gems/2.0.0/gems/deliver-0.12.1/lib/deliver/app_screenshot.rb:126:in `calculate_screen_size': Unsupported screen size [1324, 895] for path '/Users/twalsh/Documents/Projects/...

Add imagemagick as required dependency

If ImageMagick is not being installed on the system, frameit crashes:

/Library/Ruby/Gems/2.0.0/gems/subexec-0.2.3/lib/subexec.rb:71:in spawn': No such file or directory - identify (Errno::ENOENT)`

Ipad Air 2 support.

The apple web site URL provided does not have downloads for the iPad Air version 1. They just have iPad Air 2.

But frameit seems to be looking for iPad Air 1 files. Is there an update for the new apple device artwork?

Custom frames (per Screenshot)

Hey Felix,
thanks for all your great tools.

I was wondering if you could provide the ability to use custom images as frames on a per screenshot base. We do you have app store images showing an iPhone with screenshot + headline for that particular feature + background.

Cannot run frameit. Fails on Trim method

Hi

When I run frameit I am getting the following error:

/Users/username/.rvm/gems/ruby-2.2.1@global/gems/mini_magick-4.0.4/lib/mini_magick/image.rb:382:in `block in method_missing': undefined method `trim' for #<MiniMagick::Image:0x007f94de36dfd8> (NoMethodError)

Can you check it please?
Thanks

Backgrounds for specific devices sizes?

I've previously created background with embedded text specific for different screen sizes.

Also, I have to move the device part of the screen shot to different positions, so they aren't centered etc.

So it would be great to be able to provide frameit with device specific background files and positions for device image. Also as a bonus scaling of the device image and multiple device shots per image.

At the moment I have two pixelmator files, one for 3.5 inch and one for 4 inch. I have different data for US and UK, which has dates in them. I have different backgrounds and positions and one screen shot with two devices on it. So with every release I have a lot of work to do. Luckily I use UI Automation to produce the device shots, but still have a lot of work in pixelmator.

I'm about to provide iPhone 6 and iPhone 6+ support.

I can't imagine localizing !! it's already becoming a pain. I've also just updated the colouring in my app too. LOL.

Flag to turn off background.

It would be great to have a flag to turn off the white background from the Apple files. My work around is to open all the PSDs and turn off the background layer and resave the files. Then run the setup again.

Ignore files

Certain files may not be needed to be processed.

Having a way to indicate a list of such files on the JSON would be helpful (example, the background images are normally not needed to be processes).

Wrong size when framing a screenshot

When running frameit on a folder with this screenshoot:
en-us-ios-ipad-portrait-0-landingscreen

I get the following result:
en-us-ios-ipad-portrait-0-landingscreen_framed

earthquake:screenshots josejuliomartinez$ frameit silver --verbose --trace
INFO [2015-01-20 16:00:17.76]: Added frame: '/Users/josejuliomartinez/Documents/Aluxoft/lucky-raffle/fastlane/screenshots/en-US/en-US-iOS-iPad-portrait-0-LandingScreen_framed.png'

Exclude devices from frameit

Hi,

I would love to have an option to exclude a device (iPhone 4) from frameit so that if I would run frameit to generate backgrounds iPhone 4 screenshots where just left as they are.

Thanks for considering.

Alpha / Background is not removed from iPad models

Using the current download from Apple and the latest Frameit (v2.0.1) the background isn't removed when converting the PSD to PNG for iPad's meaning when you then go to use them with a background it has a white block around it.

Passing a different directory for the device frames

Would there be any way to set a different directory as the place to find the device frames so I could include them in a private repo for my team instead of having to have them installed on each persons machine?

Adding text and backgrounds to images

Is there any interest in modifying the script to be able to inset the image, change the background, add text, etc? I love the idea behind frameit, but I think we could really automate the process even further.

This is something I'll gladly work on if you think it's worth it, even though I'll have to pick up Ruby again :)

Errors during install

I'm getting some errors during the install on MacOSX 10.9.5. Should I be concerned about these?

/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin13/rbconfig.rb:213: warning: Insecure world writable dir /usr/local/narwhal/bin in PATH, mode 040777
Fetching: highline-1.6.21.gem (100%)
Successfully installed highline-1.6.21
Fetching: colored-1.2.gem (100%)
Successfully installed colored-1.2
Fetching: commander-4.2.1.gem (100%)
Successfully installed commander-4.2.1
Fetching: addressable-2.3.6.gem (100%)
Successfully installed addressable-2.3.6
Fetching: fastimage-1.6.4.gem (100%)
Successfully installed fastimage-1.6.4
Fetching: subexec-0.2.3.gem (100%)
Successfully installed subexec-0.2.3
Fetching: mini_magick-3.8.1.gem (100%)
Successfully installed mini_magick-3.8.1
Fetching: security-0.1.3.gem (100%)
Successfully installed security-0.1.3
Fetching: mini_portile-0.6.0.gem (100%)
Successfully installed mini_portile-0.6.0
Fetching: nokogiri-1.6.3.1.gem (100%)
Building native extensions. This could take a while...
Building nokogiri using packaged libraries.
ERROR: Error installing frameit:
ERROR: Failed to build gem native extension.

/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby extconf.rb

/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin13/rbconfig.rb:213: warning: Insecure world writable dir /usr/local/narwhal/bin in PATH, mode 040777

Building nokogiri using packaged libraries.

libiconv is missing. please visit http://nokogiri.org/tutorials/installing_nokogiri.html for help with installing dependencies.

*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers. Check the mkmf.log file for more details. You may
need configuration options.

Provided configuration options:
--with-opt-dir
--without-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby
--help
--clean
--use-system-libraries
--enable-static
--disable-static
--with-zlib-dir
--without-zlib-dir
--with-zlib-include
--without-zlib-include=${zlib-dir}/include
--with-zlib-lib
--without-zlib-lib=${zlib-dir}/lib
--enable-cross-build
--disable-cross-build

Gem files will remain installed in /Library/Ruby/Gems/2.0.0/gems/nokogiri-1.6.3.1 for inspection.
Results logged to /Library/Ruby/Gems/2.0.0/gems/nokogiri-1.6.3.1/ext/nokogiri/gem_make.out

Setup fails with error on converting psd files

Frameit returns an error during setup when it tries to convert the devices frames Photoshop files. Below is a dump of the error.

 Converting PSD file '~/.frameit/devices_frames/iPhone 5c/Blue/iPhone_5c_Horz_Blu_sRGB.psd'
/Library/Ruby/Gems/2.0.0/gems/mini_magick-3.8.1/lib/mini_magick/image.rb:441:in `run': Command ("identify -quiet -ping /var/folders/rz/6ndkt81d14q4vtx0cms979h40000gn/T/mini_magick20150117-5207-569mpj.psd") failed: {:status_code=>1, :output=>""} (MiniMagick::Error)
    from /Library/Ruby/Gems/2.0.0/gems/mini_magick-3.8.1/lib/mini_magick/image.rb:423:in `run_command'
    from /Library/Ruby/Gems/2.0.0/gems/mini_magick-3.8.1/lib/mini_magick/image.rb:194:in `valid?'
    from /Library/Ruby/Gems/2.0.0/gems/mini_magick-3.8.1/lib/mini_magick/image.rb:149:in `create'
    from /Library/Ruby/Gems/2.0.0/gems/mini_magick-3.8.1/lib/mini_magick/image.rb:49:in `read'
    from /Library/Ruby/Gems/2.0.0/gems/mini_magick-3.8.1/lib/mini_magick/image.rb:117:in `block in open'
    from /Library/Ruby/Gems/2.0.0/gems/mini_magick-3.8.1/lib/mini_magick/image.rb:116:in `open'
    from /Library/Ruby/Gems/2.0.0/gems/mini_magick-3.8.1/lib/mini_magick/image.rb:116:in `open'
    from /Library/Ruby/Gems/2.0.0/gems/frameit-0.2.0/lib/frameit/frame_converter.rb:61:in `block in convert_frames'
    from /Library/Ruby/Gems/2.0.0/gems/frameit-0.2.0/lib/frameit/frame_converter.rb:57:in `each'
    from /Library/Ruby/Gems/2.0.0/gems/frameit-0.2.0/lib/frameit/frame_converter.rb:57:in `convert_frames'
    from /Library/Ruby/Gems/2.0.0/gems/frameit-0.2.0/lib/frameit/editor.rb:23:in `initialize'
    from /Library/Ruby/Gems/2.0.0/gems/frameit-0.2.0/bin/frameit:39:in `new'
    from /Library/Ruby/Gems/2.0.0/gems/frameit-0.2.0/bin/frameit:39:in `block (2 levels) in <top (required)>'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.2.1/lib/commander/command.rb:180:in `call'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.2.1/lib/commander/command.rb:180:in `call'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.2.1/lib/commander/command.rb:155:in `run'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.2.1/lib/commander/runner.rb:421:in `run_active_command'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.2.1/lib/commander/runner.rb:81:in `run!'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.2.1/lib/commander/delegates.rb:8:in `run!'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.2.1/lib/commander/import.rb:10:in `block in <top (required)>'

Can not generate a framed screen with a title.

Hello,

I am trying to get the example working. I want to have two screenshots framed with a title on top. Bellow is my configuration + output for the 'frameit --verbose'

screenshot 2015-09-18 08 46 47

Framefile.json

{
    "default": {
        "keyword": {
            "font": "./fonts/SF-UI-Display-Regular.otf",
            "supported": ["en-US"]
        },
        "title": {
            "font": "./fonts/SF-UI-Display-Regular.otf",
            "supported": ["en-US"],
            "color": "#545454"
        },
        "background": "./background.jpg",
        "padding": 50
    },

    "data": [
             {
             "keyword": {
             "color": "#d21559"
             }
             },
             {
             "keyword": {
             "color": "#feb909"
             }
             }
             ]
}

title.strings

"Brainstorming" = "Let Your Ideas Grow";
"Organizing" = "Think Content, Not Layout";

**keyword.strings**
"Brainstorming" = "BRAINSTORMING";
"Organizing" = "ORGANIZING";

Output

$ frameit --verbose
INFO [2015-09-18 08:44:19.03]: Parsing config file '/Users/oleg/Desktop/test/Framefile.json'
ERROR [2015-09-18 08:44:19.03]: no implicit conversion of nil into String
ERROR [2015-09-18 08:44:19.03]: Backtrace:
    /Library/Ruby/Gems/2.0.0/gems/frameit-2.2.1/lib/frameit/config_parser.rb:27:in `include?'
    /Library/Ruby/Gems/2.0.0/gems/frameit-2.2.1/lib/frameit/config_parser.rb:27:in `block in fetch_value'
    /Library/Ruby/Gems/2.0.0/gems/frameit-2.2.1/lib/frameit/config_parser.rb:27:in `each'
    /Library/Ruby/Gems/2.0.0/gems/frameit-2.2.1/lib/frameit/config_parser.rb:27:in `find'
    /Library/Ruby/Gems/2.0.0/gems/frameit-2.2.1/lib/frameit/config_parser.rb:27:in `fetch_value'
    /Library/Ruby/Gems/2.0.0/gems/frameit-2.2.1/lib/frameit/editor.rb:252:in `fetch_config'
    /Library/Ruby/Gems/2.0.0/gems/frameit-2.2.1/lib/frameit/editor.rb:83:in `should_add_title?'
    /Library/Ruby/Gems/2.0.0/gems/frameit-2.2.1/lib/frameit/editor.rb:16:in `frame!'
    /Library/Ruby/Gems/2.0.0/gems/frameit-2.2.1/lib/frameit/screenshot.rb:72:in `frame!'
    /Library/Ruby/Gems/2.0.0/gems/frameit-2.2.1/lib/frameit/runner.rb:29:in `block in run'
    /Library/Ruby/Gems/2.0.0/gems/frameit-2.2.1/lib/frameit/runner.rb:21:in `each'
    /Library/Ruby/Gems/2.0.0/gems/frameit-2.2.1/lib/frameit/runner.rb:21:in `run'
    /Library/Ruby/Gems/2.0.0/gems/frameit-2.2.1/bin/frameit:31:in `block (2 levels) in run'
    /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/command.rb:178:in `call'
    /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/command.rb:178:in `call'
    /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/command.rb:153:in `run'
    /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/runner.rb:428:in `run_active_command'
    /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/runner.rb:71:in `run!'
    /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/delegates.rb:15:in `run!'
    /Library/Ruby/Gems/2.0.0/gems/frameit-2.2.1/bin/frameit:55:in `run'
    /Library/Ruby/Gems/2.0.0/gems/frameit-2.2.1/bin/frameit:63:in `<top (required)>'
    /usr/bin/frameit:23:in `load'
    /usr/bin/frameit:23:in `<main>'
INFO [2015-09-18 08:44:21.42]: Parsing config file '/Users/oleg/Desktop/test/Framefile.json'
ERROR [2015-09-18 08:44:21.42]: no implicit conversion of nil into String
ERROR [2015-09-18 08:44:21.42]: Backtrace:
    /Library/Ruby/Gems/2.0.0/gems/frameit-2.2.1/lib/frameit/config_parser.rb:27:in `include?'
    /Library/Ruby/Gems/2.0.0/gems/frameit-2.2.1/lib/frameit/config_parser.rb:27:in `block in fetch_value'
    /Library/Ruby/Gems/2.0.0/gems/frameit-2.2.1/lib/frameit/config_parser.rb:27:in `each'
    /Library/Ruby/Gems/2.0.0/gems/frameit-2.2.1/lib/frameit/config_parser.rb:27:in `find'
    /Library/Ruby/Gems/2.0.0/gems/frameit-2.2.1/lib/frameit/config_parser.rb:27:in `fetch_value'
    /Library/Ruby/Gems/2.0.0/gems/frameit-2.2.1/lib/frameit/editor.rb:252:in `fetch_config'
    /Library/Ruby/Gems/2.0.0/gems/frameit-2.2.1/lib/frameit/editor.rb:83:in `should_add_title?'
    /Library/Ruby/Gems/2.0.0/gems/frameit-2.2.1/lib/frameit/editor.rb:16:in `frame!'
    /Library/Ruby/Gems/2.0.0/gems/frameit-2.2.1/lib/frameit/screenshot.rb:72:in `frame!'
    /Library/Ruby/Gems/2.0.0/gems/frameit-2.2.1/lib/frameit/runner.rb:29:in `block in run'
    /Library/Ruby/Gems/2.0.0/gems/frameit-2.2.1/lib/frameit/runner.rb:21:in `each'
    /Library/Ruby/Gems/2.0.0/gems/frameit-2.2.1/lib/frameit/runner.rb:21:in `run'
    /Library/Ruby/Gems/2.0.0/gems/frameit-2.2.1/bin/frameit:31:in `block (2 levels) in run'
    /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/command.rb:178:in `call'
    /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/command.rb:178:in `call'
    /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/command.rb:153:in `run'
    /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/runner.rb:428:in `run_active_command'
    /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/runner.rb:71:in `run!'
    /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/delegates.rb:15:in `run!'
    /Library/Ruby/Gems/2.0.0/gems/frameit-2.2.1/bin/frameit:55:in `run'
    /Library/Ruby/Gems/2.0.0/gems/frameit-2.2.1/bin/frameit:63:in `<top (required)>'
    /usr/bin/frameit:23:in `load'
    /usr/bin/frameit:23:in `<main>'

iPhone portrait titles font too large

For the iPad screenshots the font is sized proportionally. But on the portrait iPhone screenshots the font is too large. At that size only two words would fit nicely. Currently I am framing with a space as a title value and photoshoping the text in.

screen shot 2015-08-13 at 10 06 16

Support line breaks in strings files

It would be nice to be able to force line breaks in titles from the strings file.

Adding line breaks in Framefile.json works fine

  "data": [
    {
      "filter": "Grid",
      "title": {
        "text" : "My very long title\nwith line break"
      }
    }

but not in title.strings

"Grid" = "My very long title\nwith line break";

frameit crashes while converting psd file

I just tried frameit the first time. But if I start frameit i get the following error (started with --trace flag):

DEBUG [2015-01-19 22:10:50.12]: Converting PSD file '/Users/patrick/.frameit/devices_frames/iPhone-6/iPhone 6 Silver/iPhone_6_Horz_Slvr_sRGB_0914.psd'
/Library/Ruby/Gems/2.0.0/gems/mini_magick-3.8.1/lib/mini_magick/image.rb:441:in `run': Command ("identify -quiet -ping /var/folders/jc/7g8vvqf129g_34z9qt_0s6km0000gn/T/mini_magick20150119-43856-17kjuwa.psd") failed: {:status_code=>1, :output=>""} (MiniMagick::Error)
    from /Library/Ruby/Gems/2.0.0/gems/mini_magick-3.8.1/lib/mini_magick/image.rb:423:in `run_command'
    from /Library/Ruby/Gems/2.0.0/gems/mini_magick-3.8.1/lib/mini_magick/image.rb:194:in `valid?'
    from /Library/Ruby/Gems/2.0.0/gems/mini_magick-3.8.1/lib/mini_magick/image.rb:149:in `create'
    from /Library/Ruby/Gems/2.0.0/gems/mini_magick-3.8.1/lib/mini_magick/image.rb:49:in `read'
    from /Library/Ruby/Gems/2.0.0/gems/mini_magick-3.8.1/lib/mini_magick/image.rb:117:in `block in open'
    from /Library/Ruby/Gems/2.0.0/gems/mini_magick-3.8.1/lib/mini_magick/image.rb:116:in `open'
    from /Library/Ruby/Gems/2.0.0/gems/mini_magick-3.8.1/lib/mini_magick/image.rb:116:in `open'
    from /Library/Ruby/Gems/2.0.0/gems/frameit-0.2.0/lib/frameit/frame_converter.rb:61:in `block in convert_frames'
    from /Library/Ruby/Gems/2.0.0/gems/frameit-0.2.0/lib/frameit/frame_converter.rb:57:in `each'
    from /Library/Ruby/Gems/2.0.0/gems/frameit-0.2.0/lib/frameit/frame_converter.rb:57:in `convert_frames'
    from /Library/Ruby/Gems/2.0.0/gems/frameit-0.2.0/lib/frameit/editor.rb:23:in `initialize'
    from /Library/Ruby/Gems/2.0.0/gems/frameit-0.2.0/bin/frameit:30:in `new'
    from /Library/Ruby/Gems/2.0.0/gems/frameit-0.2.0/bin/frameit:30:in `block (2 levels) in <top (required)>'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.2.1/lib/commander/command.rb:180:in `call'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.2.1/lib/commander/command.rb:180:in `call'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.2.1/lib/commander/command.rb:155:in `run'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.2.1/lib/commander/runner.rb:421:in `run_active_command'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.2.1/lib/commander/runner.rb:81:in `run!'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.2.1/lib/commander/delegates.rb:8:in `run!'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.2.1/lib/commander/import.rb:10:in `block in <top (required)>'

I am using frameit (0.2.0)

Any ideas whats wrong?

Feature request: 5c colors

This is great! I use 5c colors in my screenshots, would it be possible to generate those as well? If there's anything I can do to help, let me know.

Unable to frame images if custom font not given

In case I do not specify a custom font in Framefile.json i.e. comment out any of the font keys in the following snippet, frameit fails. This happens when in backtrace, it says using the default one.

  "default": {
    "keyword": {
      "font": "SassyMolassy.ttf"
    },
    "title": {
      "fonts": [
        {
          "font": "SassyMolassy.ttf",
          "supported": ["en-US"]
        }
      ]
    },

Here is the backtrace:

�[37mINFO [2015-09-20 01:23:03.53]: �[0m�[33mParsing config file 'screenshots/Framefile.json'�[0m
�[35mDEBUG [2015-09-20 01:23:05.70]: �[0mNo custom font specified for ./screenshots/en-US/en-US-iPhone5-0-LandingScreen-portrait.png, using the default one
�[35mDEBUG [2015-09-20 01:23:05.71]: �[0mAdding text 'Landing Keyword'
�[31mERROR [2015-09-20 01:23:05.75]: �[0m`mogrify -gravity Center -pointsize 49 -draw text 0,0 'Landing Keyword' -fill #d21559 /var/folders/s8/g0nkp8b577v5whf_wk_lzms40000gp/T/mini_magick20150920-12010-8yxi9x.png` failed with error:
mogrify: unable to read font `(null)' @ error/annotate.c/RenderFreetype/1153.
mogrify: unable to read font `(null)' @ error/annotate.c/RenderFreetype/1153.
mogrify: non-conforming drawing primitive definition `text' @ error/draw.c/DrawImage/3173.

�[31mERROR [2015-09-20 01:23:05.75]: �[0mBacktrace:
    /gems/mini_magick-4.0.4/lib/mini_magick/shell.rb:22:in `run'
    /gems/mini_magick-4.0.4/lib/mini_magick/tool.rb:92:in `call'
    /gems/mini_magick-4.0.4/lib/mini_magick/tool.rb:53:in `new'
    /gems/mini_magick-4.0.4/lib/mini_magick/image.rb:492:in `mogrify'
    /gems/mini_magick-4.0.4/lib/mini_magick/image.rb:367:in `combine_options'
    /gems/frameit-2.2.1/lib/frameit/editor.rb:229:in `block in build_title_images'
    /gems/frameit-2.2.1/lib/frameit/editor.rb:213:in `each'
    /gems/frameit-2.2.1/lib/frameit/editor.rb:213:in `build_title_images'
    /gems/frameit-2.2.1/lib/frameit/editor.rb:156:in `add_title'
    /gems/frameit-2.2.1/lib/frameit/editor.rb:102:in `complex_framing'
    /gems/frameit-2.2.1/lib/frameit/editor.rb:17:in `frame!'
    /gems/frameit-2.2.1/lib/frameit/screenshot.rb:72:in `frame!'
    /gems/frameit-2.2.1/lib/frameit/runner.rb:29:in `block in run'
    /gems/frameit-2.2.1/lib/frameit/runner.rb:21:in `each'
    /gems/frameit-2.2.1/lib/frameit/runner.rb:21:in `run'
    /gems/frameit-2.2.1/bin/frameit:31:in `block (2 levels) in run'
    /gems/commander-4.3.5/lib/commander/command.rb:178:in `call'
    /gems/commander-4.3.5/lib/commander/command.rb:178:in `call'
    /gems/commander-4.3.5/lib/commander/command.rb:153:in `run'
    /gems/commander-4.3.5/lib/commander/runner.rb:428:in `run_active_command'
    /gems/commander-4.3.5/lib/commander/runner.rb:71:in `run!'
    /gems/commander-4.3.5/lib/commander/delegates.rb:15:in `run!'
    /gems/frameit-2.2.1/bin/frameit:55:in `run'
    /gems/frameit-2.2.1/bin/frameit:63:in `<top (required)>'
    /bin/frameit:23:in `load'
    /bin/frameit:23:in `<main>'
    /bin/ruby_executable_hooks:15:in `eval'
    /bin/ruby_executable_hooks:15:in `<main>'

Doesn't work with new Apple product images

Using frameit with the latest product images from Apple doesn't work anymore. I tried with the iPhone 6s and iPad mini 4:

[15:44:32]: Could not find a valid template for screenshot './1.png'
[15:44:32]: You can download new templates from 'https://developer.apple.com/app-store/marketing/guidelines/#images'
[15:44:32]: and store them in '/Users/moesalih/.frameit/devices_frames'
[15:44:32]: Missing file: 'iPhone_6_Vert_Slvr.png'
[15:44:32]: undefined method `composite' for nil:NilClass
[15:44:32]: Could not find a valid template for screenshot './2.png'
[15:44:32]: You can download new templates from 'https://developer.apple.com/app-store/marketing/guidelines/#images'
[15:44:32]: and store them in '/Users/moesalih/.frameit/devices_frames'
[15:44:32]: Missing file: 'iPad_mini_Horz_Slvr_sRGB.png'
[15:44:32]: undefined method `composite' for nil:NilClass

Font size adjustment

Hi,
sometimes the titles are too small on some devices (iPad),
it would be nice to adjust the font size manually, maybe using a multiplier for every device.

Squelsh strack traces

Currently there is a huge stack trace when an image title / heading is not found.

It would be just fine to state the file name with that indication (in red).

The stack trace is not needed.

Wrong Messures

Before i frame the Screenshots was 750x1334 which is the correct size for itunes connect.
But if i frameit the size is 613x1255 for iPhone 6 Portrait.

How can i fix this Issue to upload this files to iTunes Connect?

Limiting where frameit looks for screenshots

When I moved device_frames into the ./fastlane/screenshots folder frameit now looks at those frames as if they are screenshots. Is there a way to exclude directories from frameit?

Gray overlay

Hi,
on some devices (iPhone 6+, iPhone 6 and iPhone 5s) something strange happens: a light gray overlay is added.

iPad's screenshot are ok.

iPhone 6+:
1_iphone6plus_img_0587_framed
1_iphone6plus_img_0587

iPad:
1_ipad_img_2240
1_ipad_img_2240_framed

Looks like gem executable is broken

kronos:wheely-singing[driver-automation]$ gem install frameit
Fetching: frameit-2.1.0.gem (100%)
Successfully installed frameit-2.1.0
Parsing documentation for frameit-2.1.0
Installing ri documentation for frameit-2.1.0
Done installing documentation for frameit after 0 seconds
1 gem installed
kronos:wheely-singing[driver-automation]$ ruby -v
ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-darwin14]
kronos:wheely-singing[driver-automation]$ frameit
-bash: frameit: command not found

Could not find a valid template for screenshot: Missing file: 'iPad_mini_Horz_Slvr_sRGB.png'

I tried to use frameit for iPad screenshots but it fails to generate/find the correct templates
It is expecting: Missing file: 'iPad_mini_Horz_Slvr_sRGB.png' but only "iPad-mini-Silver-horizontal.png" available

If I rename the template, it works but the screenshot is misaligned.

[01:30:24]: Could not find a valid template for screenshot './en-US/SS1.png'
[01:30:24]: You can download new templates from 'https://developer.apple.com/app-store/marketing/guidelines/#images'
[01:30:24]: and store them in '/Users/xxxx/.frameit/devices_frames'

Source, target and configuration folders

To allow more flexible workflows, it would be a good idea to be able to state where frameit should search for images, where it should place the processed images and where is the configuration (with all associated files - fonts, strings, etc relative to the configuration, unless stated with absolute values on it).

Background color

Instead of referencing a background image it'd be great to be able to give it a hex color for a solid background.

Special Characters support

This is working well for me, but once I try to use Chinese language I get "?" as the text. Is there a UTF-8 setting to support Special Characters?

"Missing file" error even though file exists

I installed ImageMagick which was missing before and added iPad frames as instructed but i still get missing file error as shown in screenshot. I had to rename the downloaded files as they had the name: iPad_mini_Vert_Slvr_sRGB.psd where i had to remove the "_sRGB" part.
screen shot 2014-11-25 at 11 01 20 pm

Any help will be appreciated.

StringParser didn't work when using UTF-8 encoded title.strings file.

Thank you for providing such a nice tool. I tried to create screenshots with title and it was failed. This is the error message.

[22:06:30]: Could not get title for screenshot ./en-US/Brainstorming.png. Please provide one in your Framefile.json

This was caused by UTF-8 encoded title.strings file, so I can avoid this error by creating title.strings by UTF-16. I thinks this line caused this problem.

strings_parser.rb L11

# A .strings file is UTF-16 encoded. We only want to deal with UTF-8
content = `iconv -f UTF-16 -t UTF-8 '#{path}'`

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.