استخدم Python لضبط الصور SVG.
قم بإنشاء تطبيقات Python لضبط الصور والصور SVG عبر واجهات برمجة تطبيقات الخادم
كيفية ضبط الصور والصور SVG باستخدام Python
أثناء التقاط الصور، يمكن أن تحدث أخطاء بسبب إعدادات الكاميرا غير الصحيحة. يمكن أن تؤثر الإضاءة غير المتحكم فيها أيضًا على النتائج، وحتى الصور الفوتوغرافية الاحترافية قد تظهر عليها عيوب. ومع ذلك، في مثل هذه السيناريوهات، هناك طريقة لتحسين الصورة من خلال استخدام الأدوات البرمجية التي توفرها مكتبة Python. لديك القدرة على ضبط سطوع الصورة وتباينها وتوازن الألوان. على سبيل المثال، إذا ظهرت الصورة معتمة للغاية، فإن زيادة السطوع ستؤدي إلى إضاءة المناطق الأكثر قتامة، وكشف التفاصيل التي كانت محجوبة في الظل في السابق. إذا كانت صورتك تظهر تغيرات لونية غير مرغوب فيها بسبب الإضاءة الاصطناعية، فيمكنك تصحيح ذلك باستخدام ميزة ضبط جاما اللون. لتنفيذ هذه التعديلات على ملفات SVG، يمكنك الاستفادة من Aspose.Imaging for Python via .NET API وهي واجهة برمجة تطبيقات غنية بالميزات وقوية وسهلة الاستخدام لمعالجة الصور وتحويلها لمنصة Python. يمكنك تثبيته باستخدام الأمر التالي من أمر النظام الخاص بك.
سطر أوامر النظام
>> pip install aspose-imaging-python-net
خطوات لضبط SVG s عبر Python
أنت بحاجة إلى aspose-imaging-python-net لتجربة سير العمل التالي في بيئتك الخاصة.
- تحميل ملفات SVG بطريقة Image.Load
- ضبط الصور.
- حفظ الصورة المضغوطة على القرص بتنسيق Aspose.Imaging المدعوم
متطلبات النظام
Aspose.Imaging for Python مدعوم على جميع أنظمة التشغيل الرئيسية. فقط تأكد من أن لديك المتطلبات الأساسية التالية.
- Microsoft Windows / Linux مع .NET Core Runtime.
- مدير حزم Python و PyPi.
ضبط صور SVG - Python
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() |
حول Aspose.Imaging Python API
Aspose.Imaging API هو حل لمعالجة الصور لإنشاء أو تعديل أو رسم أو تحويل الصور (الصور) داخل التطبيقات. يوفر: معالجة الصور عبر الأنظمة الأساسية ، بما في ذلك على سبيل المثال لا الحصر ، التحويلات بين تنسيقات الصور المختلفة (بما في ذلك معالجة الصور متعددة الصفحات أو متعددة الإطارات) ، والتعديلات مثل الرسم ، والعمل مع الرسوم الأولية ، والتحويلات (تغيير الحجم ، والقص ، والوجه والتدوير ، وثنائي ، وتدرج رمادي ، وضبط) ، وميزات معالجة الصور المتقدمة (الترشيح ، والتردد ، والإخفاء ، والتكديس) ، واستراتيجيات تحسين الذاكرة. إنها مكتبة قائمة بذاتها ولا تعتمد على أي برنامج لعمليات الصور. يمكن للمرء بسهولة إضافة ميزات تحويل الصور عالية الأداء باستخدام واجهات برمجة التطبيقات الأصلية داخل المشاريع. هذه واجهات برمجة تطبيقات داخلية خاصة بنسبة 100٪ وتتم معالجة الصور على خوادمك.اضبط SVG عبر تطبيق عبر الإنترنت
اضبط مستندات SVG من خلال زيارة [Live Demos website] ( https://products.aspose.app/imaging/image-Adjust) . يحتوي العرض التوضيحي المباشر على الفوائد التالية
SVG ما هو SVG تنسيق الملف
ملفات SVG هي ملفات رسومات متجهة قابلة للتطوير تستخدم تنسيقًا نصيًا يستند إلى XML لوصف مظهر الصورة. تشير كلمة Scalable إلى حقيقة أنه يمكن تحجيم SVG إلى أحجام مختلفة دون فقدان أي جودة. الوصف المستند إلى النص لمثل هذه الملفات يجعلها مستقلة عن الدقة. إنه أحد التنسيقات الأكثر استخدامًا لبناء مواقع الويب والرسومات المطبوعة من أجل تحقيق قابلية التوسع. لا يمكن استخدام التنسيق إلا للرسومات ثنائية الأبعاد. يمكن عرض / فتح ملفات SVG في جميع المتصفحات الحديثة تقريبًا بما في ذلك Chrome و Internet Explorer و Firefox و Safari.
اقرأ أكثرتنسيقات الضبط الأخرى المدعومة
باستخدام Python ، يمكن بسهولة ضبط التنسيقات المختلفة بما في ذلك.