Skip to main content

webptools is a Webp image conversion package for python

Project description

Webptools v0.0.2

webptools is a Webp image conversion package for python.

Convert JPG,PNG.. images to webp image format

This library uses precompiled executables of WebP for more info visit WebP

For converting other image formats to webp, please read this documentation cwebp Encoder

For converting webp image to other image format, please read this documentation dwebp Encoder

For converting gif image to webp, please read this documentation gif2webp Converter

For creating animated webp image using webp images, please read this documentation webpmux Muxer

What's New

  • Precompiled executables of WebP(v1.0.3) added

How to use

cwebp

Convert other image format to webp

from webptools import webplib as webp

# pass input_image(.jpeg,.pnp .....) path ,
# output_image(give path where to save and image file name with .webp file type extension)
print(webp.cwebp("python_logo.jpg", "python_logo.webp", "-q 80"))

dwebp

Convert webp image to other image format

from webptools import webplib as webp

# pass input_image(.webp image) path ,output_image(.jpeg,.pnp .....)
print(webp.dwebp("python_logo.webp","python_logo.jpg","-o"))

gif2webp

Convert gif image to webp

from webptools import webplib as webp

# pass input_image(.gif) path ,output_image(give path where to save and image file name with .webp file type extension)
print(webp.gifwebp("linux_logo.gif","linux_logo.webp","-q 80"))

webpmux

Add ICC profile,XMP metadata and EXIF metadata

from webptools import webplib as webp

# pass input_image(.webp image) path,output_image,set options(icc image profile,XMP metadata or EXIF metadata) and file.
# for options use keywords as below
# for ICC: icc
# for XMP metadata: xmp
# for EXIF metadata: exif
print(webp.webpmux_add("in.webp","icc_container.webp","image_profile.icc","icc"))

Extract ICC profile,XMP metadata and EXIF metadata

from webptools import webplib as webp

# pass input_image(.webp image) path,output_image,set options(icc image profile,XMP metadata or EXIF metadata) and file.
# for options use keywords as below
# for ICC: icc
# for XMP metadata: xmp
# for EXIF metadata: exif
print(webp.webpmux_extract("anim_container.webp","image_profile.icc","icc"))

Strip ICC profile,XMP metadata and EXIF metadata

from webptools import webplib as webp

# pass input_image(.webp image) path,output_image,set options(icc image profile,XMP metadata or EXIF metadata) and file.
# for options use keywords as below
# for ICC: icc
# for XMP metadata: xmp
# for EXIF metadata: exif
print(webp.webpmux_strip("icc_container.webp","without_icc.webp","icc"))

Create an animated WebP file from Webp images

from webptools import webplib as webp

# pass input_images(.webp image) path with FRAME_OPTIONS, as array,ouput image will be animated .webp image

# https://developers.google.com/speed/webp/docs/webpmux
# FRAME_OPTIONS

# -file_i +di[+xi+yi[+mi[bi]]]

# e.g -frame one.webp +100 -frame two.webp +100+50+50 -frame three.webp +100+50+50+1+b

# Where: file_i is the i'th frame (WebP format), xi,yi specify the image offset for this frame,
# di is the pause duration before next frame, mi is the dispose method for this frame (0 for NONE or 1 for BACKGROUND)
# and bi is the blending method for this frame (+b for BLEND or -b for NO_BLEND).
# Argument bi can be omitted and will default to +b (BLEND). Also, mi can be omitted if bi is omitted and
# will default to 0 (NONE). Finally,
# if mi and bi are omitted then xi and yi can be omitted and will default to +0+0.

# -loop n

# e.g 10

# Loop the frames n number of times. 0 indicates the frames should loop forever.
# Valid range is 0 to 65535 [Default: 0 (infinite)].

# -bgcolor A,R,G,B

# e.g 255,255,255,255

# Background color of the canvas. Where: A, R, G and B are integers in the range 0 to 255 specifying
# the Alpha, Red, Green and Blue component values respectively [Default: 255,255,255,255].

input=["./frames/tmp-0.webp +100","./frames/tmp-1.webp +100","./frames/tmp-2.webp +100"]
print(webp.webpmux_animate(input,"anim_container.webp","10","255,255,255,255"))

Get a frame from an animated WebP file

from webptools import webplib as webp

# pass input_image(.webp image) path ,output_image and frame number
print(webp.webpmux_getframe("anim_container.webp","frame_2.webp","2"))

Installation

$ pip install webptools

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.

Files for webptools, version 0.0.2
Filename, size File type Python version Upload date Hashes
Filename, size webptools-0.0.2-py3-none-any.whl (18.1 MB) File type Wheel Python version py3 Upload date Hashes View
Filename, size webptools-0.0.2.tar.gz (18.0 MB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page