ใช้ Python สำหรับ GIF การรวมรูปภาพ
สร้างแอป Python เพื่อรวมรูปภาพและรูปภาพ GIF ผ่าน API ของเซิร์ฟเวอร์
วิธีผสาน GIF รูปภาพและภาพถ่ายด้วย Python
การใช้เทคนิคภาพตัดปะช่วยให้คุณสามารถจัดองค์ประกอบภาพที่น่าหลงใหลจากคอลเลกชั่นภาพและภาพถ่ายที่มีอยู่แล้วได้ ไลบรารี Python มีฟังก์ชันในการรวมรูปภาพและรูปภาพได้อย่างราบรื่น โดยไม่คำนึงถึงรูปแบบไฟล์ต้นฉบับ กลยุทธ์ที่มีประสิทธิภาพในการเน้นพอร์ตโฟลิโอของคุณเกี่ยวข้องกับการใช้วอลเปเปอร์ที่มีรูปภาพหรือลวดลายซ้ำๆ เพื่อให้สามารถจัดเรียงได้ทั้งแนวนอนและแนวตั้ง หากวัตถุประสงค์ของคุณคือการจัดแสดงผลลัพธ์ของการประมวลผลไฟล์ การรวมรูปภาพสองรูปเข้าด้วยกันอย่างราบรื่น ก่อนและหลังการใช้เอฟเฟกต์รูปภาพ ถือเป็นงานที่ตรงไปตรงมา หากต้องการรวมรูปภาพ GIF เราจะจ้าง Aspose.Imaging สำหรับ Python ผ่าน .NET API ซึ่งเป็น API การจัดการรูปภาพและการแปลงที่มีคุณลักษณะหลากหลาย ทรงพลัง และใช้งานง่ายสำหรับแพลตฟอร์ม Python คุณสามารถติดตั้งได้โดยใช้คำสั่งต่อไปนี้จากคำสั่งระบบของคุณ
บรรทัดคำสั่งของระบบ
>> pip install aspose-imaging-python-net
ขั้นตอนในการผสาน GIFs ผ่าน Python
คุณต้องใช้ aspose-imaging-python-net เพื่อลองใช้เวิร์กโฟลว์ต่อไปนี้ในสภาพแวดล้อมของคุณเอง
- โหลดไฟล์ GIF ด้วยวิธี Image.Load
- การรวมภาพเข้าด้วยกันใหม่
- บันทึกภาพที่ผสานลงดิสก์ในรูปแบบที่รองรับโดย Aspose.Imaging
ความต้องการของระบบ
Aspose.Imaging สำหรับ Python ได้รับการสนับสนุนในระบบปฏิบัติการหลักทั้งหมด เพียงตรวจสอบให้แน่ใจว่าคุณมีข้อกำหนดเบื้องต้นดังต่อไปนี้
- Microsoft Windows / Linux พร้อม .NET Core Runtime
- ตัวจัดการแพ็คเกจ Python และ PyPi
รวมภาพ GIF - Python
from aspose.imaging import RasterImage, Image, VectorImage, IMultipageImage | |
from aspose.imaging.fileformats.tiff import TiffImage, TiffFrame | |
from aspose.imaging.fileformats.tiff.enums import TiffExpectedFormat | |
from aspose.imaging.imageoptions import PdfOptions, TiffOptions | |
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 | |
data_dir = templates_folder | |
images = [] | |
singles = [] | |
files = ["template.png", "template.jpg"] | |
max_width = 0 | |
max_height = 0 | |
for file_name in files: | |
image = Image.load(os.path.join(data_dir, file_name)) | |
if image.width > max_width: | |
max_width = image.width | |
if image.height > max_height: | |
max_height = image.height | |
if is_assignable(image, VectorImage): | |
raise NotImplementedError("Vector images is not supported by these code snippet. Please look at vector to booklet example to get the implementation idea.") | |
# if image implements an IMultipageImage interface | |
if is_assignable(image, IMultipageImage): | |
for page in as_of(image, IMultipageImage).pages: | |
singles.append(page) | |
else: | |
singles.append(image) | |
images.append(image) | |
output_path = os.path.join(data_dir, "result.tiff") | |
output_path2 = os.path.join(data_dir, "result.pdf") | |
with TiffImage(TiffFrame(as_of(singles[0], RasterImage))) as tiff_image: | |
# for loop | |
for i in range(1, len(singles)): | |
tiff_image.add_page(as_of(singles[i], RasterImage)) | |
tiff_image.save(output_path, TiffOptions(TiffExpectedFormat.TIFF_JPEG_RGB)) | |
tiff_image.save(output_path2, PdfOptions()) | |
for image in images: | |
# to dispose the image we call __exit__() | |
with image as _: | |
pass | |
if delete_output: | |
os.remove(output_path) | |
os.remove(output_path2) |
เกี่ยวกับ Aspose.Imaging สำหรับ Python API
Aspose.Imaging API เป็นโซลูชันการประมวลผลรูปภาพเพื่อสร้าง แก้ไข วาดหรือแปลงรูปภาพ (ภาพถ่าย) ภายในแอปพลิเคชัน นำเสนอ: การประมวลผลภาพข้ามแพลตฟอร์ม รวมถึงแต่ไม่จำกัดเพียงการแปลงระหว่างรูปแบบภาพต่างๆ (รวมถึงการประมวลผลภาพแบบหลายหน้าหรือหลายเฟรมแบบเดียวกัน) การปรับเปลี่ยน เช่น การวาด การทำงานกับภาพกราฟิกดั้งเดิม การแปลงภาพ (ปรับขนาด ครอบตัด พลิกและหมุน , ไบนารี, ระดับสีเทา, ปรับ), คุณสมบัติการจัดการภาพขั้นสูง (การกรอง, การแยกสี, การปิดบัง, การเดสก์) และกลยุทธ์การปรับหน่วยความจำให้เหมาะสม เป็นไลบรารีแบบสแตนด์อโลนและไม่ขึ้นกับซอฟต์แวร์ใด ๆ สำหรับการทำงานของรูปภาพ คุณสามารถเพิ่มคุณสมบัติการแปลงรูปภาพประสิทธิภาพสูงด้วย API ดั้งเดิมภายในโปรเจ็กต์ได้อย่างง่ายดาย สิ่งเหล่านี้เป็น API ภายในองค์กรที่เป็นส่วนตัว 100% และอิมเมจได้รับการประมวลผลที่เซิร์ฟเวอร์ของคุณผสาน GIFs ผ่านแอปออนไลน์
รวมเอกสาร GIF โดยไปที่ เว็บไซต์ Live Demos การสาธิตสดมีประโยชน์ดังต่อไปนี้
GIF คืออะไร GIF รูปแบบไฟล์
รูปแบบ GIF หรือ Graphical Interchange เป็นประเภทรูปภาพที่มีการบีบอัดสูง Unisys เป็นเจ้าของ GIF ใช้อัลกอริธึมการบีบอัด LZW ที่ไม่ลดคุณภาพของภาพ สำหรับแต่ละภาพ โดยทั่วไปแล้ว GIF อนุญาตให้ใช้ได้ถึง 8 บิตต่อพิกเซล และอนุญาตให้ใช้สีได้สูงสุด 256 สีทั่วทั้งภาพ ตรงกันข้ามกับภาพ JPEG ที่สามารถแสดงสีได้มากถึง 16 ล้านสีและสัมผัสได้ถึงขีดจำกัดของสายตามนุษย์ ย้อนกลับไปเมื่ออินเทอร์เน็ตปรากฏขึ้น GIF ยังคงเป็นตัวเลือกที่ดีที่สุด เนื่องจากต้องใช้แบนด์วิดท์ต่ำและเข้ากันได้กับกราฟิกที่ใช้พื้นที่สีทึบ GIF แบบเคลื่อนไหวจะรวมรูปภาพหรือเฟรมจำนวนมากเป็นไฟล์เดียว และแสดงตามลำดับเพื่อสร้างคลิปภาพเคลื่อนไหวหรือวิดีโอสั้น ข้อจำกัดสีสูงสุด 256 สำหรับแต่ละเฟรม และมีแนวโน้มว่าจะเหมาะสมน้อยที่สุดสำหรับการสร้างภาพอื่นๆ และภาพถ่ายที่มีการไล่ระดับสี
อ่านเพิ่มเติมรูปแบบการผสานอื่น ๆ ที่รองรับ
การใช้ Python สามารถผสานรูปแบบต่างๆ เข้าด้วยกันได้อย่างง่ายดาย