How to adjust an image

How to adjust an image

         Adjusting an image's brightness can be done by adjust_brightness method, so you can set a brightness parameter between -255 and 255 to perform corrections. The same adjustments you can do with adjust_contrast method to make contrast corrections with parameter settings to a range from -100 and 100. If the image has a color hue, you can make gamma corrections by setting the R, G and B components coefficient or a general gamma coefficient with adjust_gamma method:

from aspose.imaging import *
from aspose.imaging.fileformats.bmp import *
from aspose.imaging.fileformats.dicom import *
from aspose.imaging.fileformats.emf import *
from aspose.imaging.fileformats.jpeg import *
from aspose.imaging.fileformats.jpeg2000 import *
from aspose.imaging.fileformats.png import *
from aspose.imaging.fileformats.psd import *
from aspose.imaging.fileformats.tiff.enums import *
from aspose.imaging.imagefilters.filteroptions import *
from aspose.imaging.imageoptions import *
from aspose.imaging.masking import *
from aspose.imaging.masking.options import *
from aspose.imaging.masking.result import *
from aspose.imaging.sources import *
from aspose.pycore import as_of, is_assignable
import os
if 'TEMPLATE_DIR' in os.environ:
templates_folder = os.environ['TEMPLATE_DIR']
else:
templates_folder = r"C:\Users\USER\Downloads\templates"
delete_output = 'SAVE_OUTPUT' not in os.environ
def adjust_gamma_rgb():
# https://apireference.aspose.com/imaging/python-net/aspose.imaging.rasterimage/adjustgamma
filter_images(lambda image: image.adjust_gamma(5, 0.1, 0.1), "adjustgammargb")
def adjust_gamma():
filter_images(lambda image: image.adjust_gamma(3), "adjustgamma")
def adjust_contrast():
filter_images(lambda image: image.adjust_contrast(50), "adjustcontrast")
def adjust_brightness():
filter_images(lambda image: image.adjust_brightness(100), "adjustbrightness")
def filter_images(do_filter, filter_name):
obj_init = []
obj_init.append("jpg")
obj_init.append("png")
obj_init.append("bmp")
obj_init.append("apng")
obj_init.append("dicom")
obj_init.append("jp2")
obj_init.append("j2k")
obj_init.append("tga")
obj_init.append("webp")
obj_init.append("tif")
obj_init.append("gif")
obj_init.append("ico")
raster_formats = obj_init
obj_init2 = []
obj_init2.append("svg")
obj_init2.append("otg")
obj_init2.append("odg")
obj_init2.append("eps")
obj_init2.append("wmf")
obj_init2.append("emf")
obj_init2.append("wmz")
obj_init2.append("emz")
obj_init2.append("cmx")
obj_init2.append("cdr")
vector_formats = obj_init2
all_formats = []
all_formats.extend(raster_formats)
all_formats.extend(vector_formats)
for format_ext in all_formats:
input_file = os.path.join(templates_folder, f"template.{format_ext}")
if not os.path.exists(input_file):
continue
is_vector_format = format_ext in vector_formats
if is_vector_format:
input_file = rasterize_vector_image(format_ext, input_file)
output_file = os.path.join(templates_folder, f"{filter_name}_{format_ext}.png")
print(format_ext)
# explicit type casting from Image to RasterImage
with as_of(Image.load(input_file), RasterImage) as image:
do_filter(image)
multi_page = None
# if image implements an IMultipageImage interface
if is_assignable(image, IMultipageImage):
multi_page = as_of(image, IMultipageImage)
if multi_page is not None and multi_page.page_count > 1:
# for loop
page_index = 0
for page in multi_page.pages:
file_name = f"{filter_name}_page{page_index}_{format_ext}.png"
page.save(os.path.join(templates_folder + file_name), PngOptions())
# delete an output file
delete_file(os.path.join(templates_folder + file_name))
page_index += 1
else:
image.save(output_file, PngOptions())
# delete an output file
delete_file(output_file)
# delete a rasterized file
if is_vector_format:
delete_file(input_file)
def delete_file(file):
if delete_output:
os.remove(file)
def rasterize_vector_image(format_ext, input_file):
output_file = os.path.join(templates_folder, f"rasterized.{format_ext}.png")
with Image.load(input_file) as image:
image.save(output_file, PngOptions())
return output_file
# call one of the functions
adjust_brightness()
#adjust_contrast()
#adjust_gamma()
#adjust_gamma_rgb()

You can find more examples for adjusting images in the Aspose Developer Guide.