Skip to content

yonaskolb/frameme

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Quickly frame screenshots, this is designed to use iOS frames from https://developer.apple.com/design/resources/#product-bezels . This also works with Android, TV, Apple Watch or most other devices frames.

Examples

Frame Screenshot Output

Why?

While fastlane/frameit is an excellent screenshot framing tool it relies on device frames from Facebook which often take a long time to receive new device images, this is a simple tool to use the offical Apple device "bezels".

How does it work?

This is a fairly simple app that first analyses the device frame to determine where the screen is, this is done by starting at the centre pixel and working in each direction to find edges then it compares the X & Y findings to adjust for the curved frame edges.

Following that it creates a mask from the "screen" area that was found, it then applies this mask to the screenshot then overlays the two images.

After which it writes the framed image to the source folder with the suffix _framed just like frameit.

Given this uses CoreGraphics it is lightning fast compared to frameit.

Installation

Download the latest release, the provided binary is universal meaning that it supports both Intel and Apple Silicon natively. Put the binary somewhere in your $PATH, usually /usr/local/bin/.

Eventually I'll add this to Homebrew.

Usage

OVERVIEW: Quickly frame screenshots.

USAGE: frameme [--skip-content-box] [--no-clip] [--force] [--output <output>] <frame> <screenshot> ...

ARGUMENTS:
  <frame>                 The frame to use.
  <screenshot>            The screenshots to process.

OPTIONS:
  --skip-content-box      Don't try and find the content box, just overlay the frame on the screenshot.
  --no-clip               Don't clip the screenshot to the frame.
  --force                 Force framing of file/s. By default files ending with '_framed' are skipped.
  --output <output>       The output folder. By default framed screenshots are
                          placed in the their original folder.
  --version               Show the version.
  -h, --help              Show help information.

Example Command

frameme ~/frames/iPhone\ 14\ Pro\ -\ Space\ Black\ -\ Portrait.png *.png

License

GNU General Public License v3.0

Example device frames from Meta - https://design.facebook.com/toolsandresources/devices/

About

Frame screenshots for any device quickly.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Swift 97.8%
  • Makefile 2.2%