Skip to main content

A python library to generate CSS gradient from an image

Project description

A python library to generate CSS gradient from an image. This is a fork of https://github.com/fraser-hemp/gradify. The original gradify project had only a CLI interface. With this fork, you can use gradify as a library in your Python code.

https://user-images.githubusercontent.com/2115303/35187613-c6fe6fe8-fe3b-11e7-9b9d-3e088e460a1d.jpg

Installation

Install the latest release from PyPI:

pip install gradify

Usage

gradify.generate_css(fp, single_color=False, use_color_spread=False)
  • fp: a filename (string), pathlib.Path object or a file object. The file object must implement read(), seek(), and tell() methods, and be opened in binary mode.

  • single_color: only produce a single, uniform background color - this is much quicker and has all browser support

  • use_color_spread: this flag will give the color which has the least spread over the image the highest priority when assigning directions (opposed to most dominant color). This feature improves overall accuracy, however adds complexity and in unique cases it produces counter-intuitive results

Example:

import gradify
css = gradify.generate_css('sample.png')

Advanced Usage

You can use Gradify class for advanced usage.

from gradify import Gradify

# simple usage
g = Gradify('sample.png', single_color=False, use_color_spread=False)
css = g.generate_css()

# advanced usage
g = Gradify('sample.png', single_color=False, use_color_spread=False, black_sensitivity=4.3,
            white_sensitivity=3, num_colors=4, resize=55, uniformness=7, use_prefixes=False)
css = g.generate_css()

Default parameters produce good result.

From original repo:

The only suggestion is increasing the uniformness (by lowering it’s value). It can improve the general case, improve speed, but decrease the upper limits of accuracy. Increasing sensitivity to black will do the same.

Credits

Many thanks to Fraser Hemphill for writing the original gradify project.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gradify-1.0.0.tar.gz (5.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gradify-1.0.0-py3-none-any.whl (5.6 kB view details)

Uploaded Python 3

File details

Details for the file gradify-1.0.0.tar.gz.

File metadata

  • Download URL: gradify-1.0.0.tar.gz
  • Upload date:
  • Size: 5.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.13

File hashes

Hashes for gradify-1.0.0.tar.gz
Algorithm Hash digest
SHA256 bcceefebf6d06a1887b2d205f69ae6c9d3f444c7ea1d4c872e67c65a0b61ca7d
MD5 0d8af4ad13af879748d0886d95f1806e
BLAKE2b-256 6beb6b3b772a46de5a56c1c7a3d8cfcde1b7c878eebe1a4bdae9d8e9e7c26ccd

See more details on using hashes here.

File details

Details for the file gradify-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: gradify-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 5.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.13

File hashes

Hashes for gradify-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4fa7f1a74c9fdf97737dc9b96c936ee0646f2a047d8904496529e436e50909bc
MD5 08abf00faf5cb972c9d776f601a049d3
BLAKE2b-256 3be087c194842c513facaaf6ec960482278838e5a66700f0bc73589988880e7f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page