All Projects → fantasyui-com → Mockup

fantasyui-com / Mockup

Licence: gpl-3.0
Perspective app screens and isometric mock-up tool. Automated high quality, high resolution, marketing art designer for mockups. Written in minimalist Bash using ImageMagick and Love! [Application, Art]

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to Mockup

Argh
Argh! A minimalist argument handler.
Stars: ✭ 752 (+4077.78%)
Mutual labels:  command-line
Stronghold
Easily configure macOS security settings from the terminal.
Stars: ✭ 813 (+4416.67%)
Mutual labels:  command-line
Macports Ports
The MacPorts ports tree
Stars: ✭ 891 (+4850%)
Mutual labels:  command-line
Flyimg
Dockerized PHP7 application runs as a Microservice to resize and crop images on the fly. Get optimised images with MozJPEG, WebP or PNG using ImageMagick. Includes face detection, cropping, face blurring, image rotation and many other options. Abstract storage based on FlySystem in order to store images on any provider (local, AWS S3...).
Stars: ✭ 762 (+4133.33%)
Mutual labels:  imagemagick
Prompts
❯ Lightweight, beautiful and user-friendly interactive prompts
Stars: ✭ 6,970 (+38622.22%)
Mutual labels:  command-line
Xonotic Map Manager
A command line package manager for Xonotic community maps
Stars: ✭ 5 (-72.22%)
Mutual labels:  command-line
Sade
Smooth (CLI) Operator 🎶
Stars: ✭ 746 (+4044.44%)
Mutual labels:  command-line
Andhow
Strongly typed, validated, easy to use Java configuration
Stars: ✭ 17 (-5.56%)
Mutual labels:  command-line
Ntl
Node Task List: Interactive cli to list and run package.json scripts
Stars: ✭ 800 (+4344.44%)
Mutual labels:  command-line
Trakt Tools
Command-line tools for Trakt.tv.
Stars: ✭ 16 (-11.11%)
Mutual labels:  command-line
Js Liftoff
Launch your command line tool with ease.
Stars: ✭ 761 (+4127.78%)
Mutual labels:  command-line
Hug
Embrace the APIs of the future. Hug aims to make developing APIs as simple as possible, but no simpler.
Stars: ✭ 6,572 (+36411.11%)
Mutual labels:  command-line
Ultralist
Simple task management for tech folks.
Stars: ✭ 823 (+4472.22%)
Mutual labels:  command-line
Usql
Universal command-line interface for SQL databases
Stars: ✭ 6,869 (+38061.11%)
Mutual labels:  command-line
Cli Prompts Test
Write e2e tests for CLI apps with ease
Stars: ✭ 17 (-5.56%)
Mutual labels:  command-line
Wudao Dict
有道词典的命令行版本,支持英汉互查和在线查询。
Stars: ✭ 746 (+4044.44%)
Mutual labels:  command-line
Dotdrop
Save your dotfiles once, deploy them everywhere
Stars: ✭ 813 (+4416.67%)
Mutual labels:  command-line
Homebridge Garagedoor Command
Homebridge plugin to control a garage door using command line functions
Stars: ✭ 18 (+0%)
Mutual labels:  command-line
Przm
🎨 A simple, yet feature rich color picker and manipulator
Stars: ✭ 17 (-5.56%)
Mutual labels:  command-line
Gifcurry
😎 The open-source, Haskell-built video editor for GIF makers.
Stars: ✭ 830 (+4511.11%)
Mutual labels:  imagemagick

mockup

Perspective app screens, and isometric mock-up designs. Free Open Source automated high quality, high resolution, marketing art designer for mockup images. Written in minimalist Bash using ImageMagick and Love!

This is a UNIX/Linux program first, you give it a screenshot of your program and it gives you that same screenshot carefully positioned in various scenarios, iPhone, TV, Laptop, etc... It exists because people and dribbbles keep bothering us about portfolios and we don't have time, the only time we do have is for a couple of commands, which is what mockup is great for.

all

Installation

The current v2 is in development, it will be an rpm package, or now fork the repository, and use ./mockup

Usage and Command Reference

Image Based Templates

Output format is up to you, change hand1-demo.jpg to hand1-demo.png for PNG formatted image data.

mockup --template hand1 --input sample/image1.png --output hand1-demo.jpg

mockup --template laptop1 --input sample/image1.png --output laptop1-demo.jpg

mockup --template tablet1 --input sample/image1.png --output tablet1-demo.jpg

mockup --template tv1 --input sample/image1.png --output tv1-demo.jpg

Synthetic/Generative Designs

Note the use of optional --background flag.

mockup --template stack2 --background '#002b36' --input sample/image1.png sample/image2.png --output stack2-demo.jpg

mockup --template stack3 --background '#002b36' --input sample/image1.png sample/image2.png sample/image3.png --output stack3-demo.jpg

A Promise of Simplicity

KI.S.S., I will keep it sweet and simple, but we need dependency management to automatically install ImageMagick/GraphicsMagick, getopt and bc (and whatever else may come) to keep the dependency tree clean should the program be removed.

Theory of Operation

  1. Take royalty free source immage, add alpha (turn it into a standard png)
  2. Punch a hole in it wherever there was a screen.
  3. Now, take your image, distort it to fit that hole, layer the two, flatten the whole.
  4. Export as jpg.
  5. Upload it to your portfolio, blog, website, etc...

Future Ahead

I wanted a simple an easy four point transform (aka. four point distort), but ImageMagick/GraphicsMagick seem to do exactly what we need, and come with extras that will help with slight image tweaks like desaturation, or adding noise. So, it makes no sense not to use those two.

Programming Style

Bash is what it is, though I probably need to, I don't want to generate argument parsing code, I want things to be plain and simple, I want the Bash to be redable.

2.x The New Version

NOTE: Visit https://github.com/fantasyui-com/mockup/tree/v1 for the original sources.

I will provide an rpm that will include dependency handling and the next release will work like this

mockup --template laptop1 --output ~/the-result.png --input ~/Desktop/my-image1.png ~/Desktop/my-image2.png

mockup -t laptop1 -o ~/the-result.png -i ~/Desktop/my-image1.png ~/Desktop/my-image2.png

There maybe some interactive questions along the way if the user fails to name a valid template.

Bash 3 and Bash 4

I can't destroy the program because Apple is dragging behind, so I am going to aim for Bash 4, and use the new features to future proof the program.

Graphic GUI

It is possible to use Electron and ImageMagick/GraphicsMagick module, so that could be a neat experiment, but this is really meant to run on the command line, this is supposed to be a Juggernaut that takes a folder with screenshots and crunches through them to give you ready to use results. It is supposed to be done by the time programs like Electron begin starting up.

Graphic GUI Alternative: Raspberry PI

For people without a Linux computer. Microsoft and Apple make it difficult to publish software on their platforms, it will only get worse. On the Linux site, things only get better, it is a booming ecosystem of beautiful applications and powerful scripts.

I hope to create a simple way to install mockup on a $35 Raspberry PI, I will publish an article about the setup and use. And help you to your first Linux.

Roadmap

  • Each image will get a separate bash file (ex: mockup-tablet.sh, mockup-bigtv.sh) no more tv1 tv2.
  • I would like the library of source images to be separated-out into mockup-library but it seems better to keep everything in one place for now.
  • I will present a JSON pr easy to parse file, file for other languages implementations.

Mockup Demos

hand1 preset hand1

laptop1 preset laptop1

tablet1 preset tablet1

tv1 preset tv1

Synthetic/Generative

long1 preset long1

stack2 preset stack2

stack3 preset stack3

Actual size close-up (resulting images are print quality) quality

Requirements

Quick Installation

mkdir ~/GitHub; cd ~/GitHub;
git clone [email protected]:fantasyui-com/mockup.git
cd mockup;
./mockup --template hand1 --input Photos/face.jpg --output wow.jpg

Bonus

Here is a quick script that will create images based on Screen*.png on your ~/Desktop (This may take a while). The program below is meant to help you get started on processing large collections.

#!/bin/bash
INDEX=1;
find ~/Desktop -maxdepth 1 -type f -iname "Screen*.png" | while read NAME
do
  mockup -t hand1 -i  "${NAME}" -o ./test-hand1-${INDEX}.png;
  mockup -t laptop1 -i  "${NAME}" -o ./test-laptop1-${INDEX}.png;
  mockup -t tv1 -i  "${NAME}" -o ./test-tv1-${INDEX}.png;
  mockup -t tablet1 -i  "${NAME}" -o ./test-tablet1-${INDEX}.png;
  INDEX=$((INDEX+1));
done;

Changelog

  • gray1 preset renamed to stack2
  • added new preset stack3 for 3 images

Credits

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].