Użyj języka Python do połączenia obrazów w formacie JP2
Twórz aplikacje Python do łączenia obrazów i zdjęć w formacie JP2 za pośrednictwem interfejsów API serwera
Jak połączyć obrazy i zdjęcia w formacie JP2 za pomocą języka Python
Wykorzystanie techniki kolażu umożliwia stworzenie urzekającej kompozycji z kolekcji istniejących obrazów i zdjęć. Biblioteka Python zapewnia funkcję płynnego łączenia obrazów i zdjęć, niezależnie od różnic w formatach plików źródłowych. Skuteczna strategia wyróżnienia Twojego portfolio polega na zastosowaniu ozdób tapet z powtarzającymi się obrazami lub wzorami, umożliwiającymi aranżacje zarówno w poziomie, jak i w pionie. Jeśli Twoim celem jest pokazanie wyniku przetwarzania pliku, płynne połączenie dwóch obrazów — przed i po zastosowaniu efektu obrazu — jest prostym zadaniem. Aby połączyć obrazy w formacie JP2, zastosujemy Aspose.Imaging for Python via .NET API, które jest bogatym w funkcje, potężnym i łatwym w użyciu interfejsem API do manipulacji i konwersji obrazów dla platformy Python. Możesz go zainstalować za pomocą następującego polecenia z polecenia systemowego.
Systemowy wiersz poleceń
>> pip install aspose-imaging-python-net
Kroki do scalenia JP2s przez Python
Potrzebujesz aspose-imaging-python-net , aby wypróbować następujący przepływ pracy we własnym środowisku.
- Załaduj pliki JP2 za pomocą metody Image.Load
- Łączenie obrazów w nowe
- Zapisz scalony obraz na dysku w obsługiwanym przez Aspose.Imaging formacie
wymagania systemowe
Aspose.Imaging dla Python jest obsługiwane we wszystkich głównych systemach operacyjnych. Tylko upewnij się, że masz następujące wymagania wstępne.
- Microsoft Windows / Linux ze środowiskiem wykonawczym .NET Core.
- Menedżer pakietów Python i PyPi.
Scal obrazy JP2 – Python
from aspose.imaging import Image, Graphics, Color, Rectangle | |
from aspose.imaging.fileformats.png import PngColorType | |
from aspose.imaging.imageoptions import PngOptions | |
from aspose.imaging.sources import StreamSource | |
import os | |
import tempfile | |
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 | |
data_dir = templates_folder | |
images = [] | |
files = ["template.png", "template.jpg"] | |
merge_direction = [0, 1] | |
max_width = 0 | |
max_height = 0 | |
total_width = 0 | |
total_height = 0 | |
for file_name in files: | |
image = Image.load(os.path.join(data_dir, file_name)) | |
total_width += image.width | |
if image.width > max_width: | |
max_width = image.width | |
total_height += image.height | |
if image.height > max_height: | |
max_height = image.height | |
images.append(image) | |
def get_temp_file_name(): | |
f = tempfile.NamedTemporaryFile() | |
file_name = f.name | |
f.close() | |
return file_name | |
def merge_images(direction): | |
target_width = 0 | |
target_height = 0 | |
if direction == 0: | |
target_width = total_width | |
target_height = max_height | |
else: | |
target_width = max_width | |
target_height = total_height | |
output_path = data_dir | |
output_path = os.path.join(output_path, "result" + str(direction) + ".png") | |
png_options = PngOptions() | |
png_options.color_type = PngColorType.TRUECOLOR_WITH_ALPHA | |
tmp_file = get_temp_file_name() | |
with open(tmp_file, "wb") as stream: | |
png_options.source = StreamSource(stream) | |
with Image.create(png_options, target_width, target_height) as image: | |
image.background_color = Color.white | |
graphics = Graphics(image) | |
x = 0 | |
y = 0 | |
graphics.begin_update() | |
for frame in images: | |
print("x", x, "y", y) | |
graphics.draw_image(frame, Rectangle(x, y, frame.width, frame.height)) | |
if direction == 0: | |
x += frame.width | |
if direction == 1: | |
y += frame.height | |
graphics.end_update() | |
image.save(output_path) | |
os.remove(tmp_file) | |
if delete_output: | |
os.remove(output_path) | |
# run | |
merge_images(0) | |
merge_images(1) | |
for image in images: | |
# to dispose the image we call __exit__() | |
with image as _: | |
pass |
Informacje o Aspose.Imaging dla Python API
Aspose.Imaging API to rozwiązanie do przetwarzania obrazów do tworzenia, modyfikowania, rysowania lub konwertowania obrazów (zdjęć) w aplikacjach. Oferuje: wieloplatformowe przetwarzanie obrazu, w tym między innymi konwersje między różnymi formatami obrazu (w tym jednolite przetwarzanie obrazu wielostronicowego lub wieloklatkowego), modyfikacje takie jak rysowanie, praca z prymitywami graficznymi, przekształcenia (zmiana rozmiaru, przycinanie, odwracanie i obracanie , binaryzacja, skala szarości, dostosowanie), zaawansowane funkcje manipulacji obrazem (filtrowanie, dithering, maskowanie, prostowanie) oraz strategie optymalizacji pamięci. Jest to samodzielna biblioteka i nie zależy od żadnego oprogramowania do obsługi obrazów. W projektach można łatwo dodać wysokowydajne funkcje konwersji obrazów za pomocą natywnych interfejsów API. Są to w 100% prywatne lokalne interfejsy API, a obrazy są przetwarzane na Twoich serwerach.Scal JP2s przez aplikację online
Połącz dokumenty JP2, odwiedzając naszą witrynę demonstracyjną na żywo . Demo na żywo ma następujące zalety
JP2 Co jest JP2 Format pliku
JPEG 2000 (JP2) to system kodowania obrazu i najnowocześniejszy standard kompresji obrazu. Zaprojektowany przy użyciu technologii wavelet JPEG 2000 może kodować bezstratne treści w dowolnej jakości na raz. Co więcej, bez znaczącej utraty wydajności kodowania, JPEG 2000 ma możliwość dostępu i efektywnego dekodowania tej samej treści w różnych innych rozdzielczościach i jakościach. Strumienie kodu w JPEG 2000 są znacznie skalowalne, posiadając obszary zainteresowania, które zapewniają możliwość przestrzennego dostępu losowego. Posiada do 16384 różnych komponentów o wymiarach w terapikselach i precyzji, która może sięgać nawet 38 bitów na próbkę.
Czytaj więcejInne obsługiwane formaty scalania
Za pomocą Python można łatwo łączyć różne formaty, w tym.