Git Product home page Git Product logo

phixer's Introduction

phixer

An app to apply filters to the camera stream or to a stored photo.

This project is based on an earlier app named 'FilterCam'. I had to re-write all of the underlying filter and graphics code because Apple is dropping support for OpenGL(ES). I was originally using the nifty GPUImage library from Brad Larsen, but now I am using the built in CIFilter classes and using Metal for graphics processing. Also, I had to change the name because of an App Store conflict.

Basic Functionality

One day, I'll get around to adding screenshots, but the basic set of functionality includes:

  • browse all available filters, assign ratings, hide/show, add to favourites. You can also change some of the parameters (the scalar or colour ones) and see the effect
    • there are currently ~190 filters defined and an additional 500+ colour transforms available (lookup filters) that are based on available Photoshop presets
    • because of this, filters are assigned to 'categories', and users can hide ones they don't want to see
    • current categories are based on the source of the transform (e.g. Photoshop preset) or the Apple filter types. Expect these to be re-organsied drastically
  • choose a sample image (used for browsing the filters). There are some built-in samples or you can use any photo
  • choose a blend image, for those filters that combine multple images. There are some built-in blend images, or you can use any photo
  • there is a limited set of Style Transfer filters available - the usual group that is freely available (The Scream etc). I will be working on generating new ones, but that takes a lot of time and the tools are a bit lacking right now
  • edit an image from your photo albums.
  • there is a simple and limited theme manager that lets you choose between a few themes (light, dark, red, blue). I plan on making this configurable eventually
  • the editing feature is actually fairly good now. It currently has support for:
    • applying multiple filters and viewing the filter stack
    • undo the last filter
    • toggle between original/current images
    • split screen preview of original/current image
    • contextual help text everywhere (very basic though)
    • Basic Adjustments (exposure, contrast etc.)
    • Color filters (all of them)
    • Style Transfer
    • Tone Curves
    • Color Adjustments (ROYGBIV)
    • Sharpening and Noise reduction
    • Crop/Zoom/Rotate

Pods Used

I make fairly extensive use of the following pods:

  • Neon: very useful functions for laying out views relative to each other (Storyboards are very hard to use in this app because of the need to constantly resize based on content)
  • Chameleon: a set of 'flat' colours and associated utilities that I use to colour the UI
  • iCarousel: a horizontally scrolling list that can contain images etc.
  • SwiftyBeaver: logging utilities
  • SwiftyJSON: JSON parsing
  • Cosmos: a star rating widget

phixer's People

Contributors

nateemma avatar

Watchers

James Cloos avatar

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.