A client-side image transcoding library.
Branch: master
Clone or download
Patrick Shyu and facebook-github-bot rename FBMacros.h to FBDefines.h (unrevert)
Another smaller diff was responsible for breaking the build... D14019510 would have been the fix, which is integrated into this diff anyway.

Renaming FBMacros.h to FBDefines.h for more standard naming (similar to say UIKit/UIKit.h or Foundation/Foundation.h).

Tools/fastmod/fastmod --accept-all '\bFBMacros.h' FBDefines.h ../xplat


Reviewed By: dinhviethoa

Differential Revision: D14019529

fbshipit-source-id: 940490a5ec72ccdeb819598f488dc22eae454a26
Latest commit fc5d50d Feb 10, 2019




Spectrum is a cross-platform image transcoding library that can easily be integrated into an Android or iOS project to efficiently perform common image operations.

The Spectrum APIs incorporate declarative traits. This simplifies the usage for the developer by focusing on the desired outcome. At the same time it enables Spectrum to transparently choose the best execution sequence. Additionally, Spectrum makes common image operations simple by surfacing many difficult operations that are not typically exposed by platform frameworks. For example, some JPEG-to-JPEG operations like cropping are executed lossless, and disabling chroma sub-sampling when saving graphical JPEGs will lead to better quality final products.

Find out more at our website.


Spectrum was built with mobile iOS and Android in mind but could be wrapped for any platform.

Getting started

Please refer to our Getting Started chapters in our documentation to start using Spectrum to transcode your images on Android and iOS.

Join the Spectrum community

Please use our issues page to let us know of any problems.

For pull requests, please see the CONTRIBUTING file for information on how to help out.


Spectrum is MIT-licensed.