Java के ज़रिए GIF को मर्ज करें
सर्वर-साइड API का उपयोग करके GIF फ़ाइलों को मर्ज करने के लिए अपने स्वयं के Java ऐप्स बनाएं।
Java का उपयोग करके GIF फ़ाइलें कैसे मर्ज करें
यदि आप अपनी रचनात्मकता को उड़ान देना चाहते हैं, तो यह छवि कोलाज का उपयोग करने का समय है। यह फ़ंक्शन आपको फ़ोटो और छवियों को मर्ज करने की अनुमति देगा, भले ही स्रोत फ़ाइलें विभिन्न प्रारूपों की हों। अपने पोर्टफोलियो पर ध्यान आकर्षित करने का एक शानदार तरीका दोहराई जाने वाली छवियों या पैटर्न वाले फोटो वॉलपेपर का उपयोग करना है। इस मामले में, छवियों को क्षैतिज और ऊर्ध्वाधर दोनों दिशाओं में जोड़ा जा सकता है। उस स्थिति में जब आपको किसी फ़ाइल को संसाधित करने के परिणाम को प्रदर्शित करने की आवश्यकता होती है, तो आप आसानी से दो छवियों को मर्ज कर सकते हैं: फोटो प्रभाव लागू करने से पहले और बाद में। GIF फ़ाइलों को मर्ज करने के लिए, हम इसका उपयोग करेंगे Aspose.Imaging for Java API जो एक सुविधा संपन्न, शक्तिशाली और जावा प्लेटफॉर्म के लिए छवि हेरफेर और रूपांतरण एपीआई का उपयोग करने में आसान है। आप इसका नवीनतम संस्करण सीधे Maven से डाउनलोड कर सकते हैं और इसे अपने मावेन में इंस्टॉल कर सकते हैं -आधारित परियोजना pom.xml में निम्नलिखित विन्यास जोड़कर।
रिपॉजिटरी
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
निर्भरता
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-imaging</artifactId>
<version>version of aspose-imaging API</version>
<classifier>jdk16</classifier>
</dependency>
Java के माध्यम से GIFs को मर्ज करने के चरण
अपने स्वयं के वातावरण में निम्नलिखित वर्कफ़्लो को आज़माने के लिए आपको aspose-imaging-version-jdk16.jar की आवश्यकता होगी।
- GIF फ़ाइलें Image.load विधि से लोड करें
- छवियों को नए में मिलाना
- क्रॉप की गई छवि को Aspose द्वारा समर्थित डिस्क में सहेजें। इमेजिंग प्रारूप
सिस्टम आवश्यकताएं
Aspose.Imaging for Java सभी प्रमुख ऑपरेटिंग सिस्टम पर समर्थित है। बस सुनिश्चित करें कि आपके पास निम्नलिखित पूर्वापेक्षाएँ हैं।
- JDK 1.6 या उच्चतर स्थापित है।
GIF छवियों को मिलाएं - Java
import com.aspose.imaging.IMultipageImage; | |
import com.aspose.imaging.Image; | |
import com.aspose.imaging.RasterImage; | |
import com.aspose.imaging.VectorImage; | |
import com.aspose.imaging.fileformats.tiff.TiffFrame; | |
import com.aspose.imaging.fileformats.tiff.TiffImage; | |
import com.aspose.imaging.fileformats.tiff.enums.TiffExpectedFormat; | |
import com.aspose.imaging.imageoptions.PdfOptions; | |
import com.aspose.imaging.imageoptions.TiffOptions; | |
import java.io.File; | |
import java.io.FilenameFilter; | |
import java.util.ArrayList; | |
import java.util.Collections; | |
import java.util.List; | |
// Test directory should have source images to merge | |
String TestDirectory = "D:\\Many2One\\"; | |
// Source file mask, could vary depending on image format (i.e. *.png, *.jpg, *.dicom, *., *.tiff, *.gif etc) | |
final String fileMask = ".png"; | |
List<Image> singles = new ArrayList<Image>(); | |
List<Image> images = new ArrayList<Image>(); | |
try | |
{ | |
int maxWidth = 0; | |
int maxHeight = 0; | |
File[] files = new File(TestDirectory).listFiles(new FilenameFilter() | |
{ | |
@Override | |
public boolean accept(File dir, String name) | |
{ | |
return name.endsWith(fileMask); | |
} | |
}); | |
if (files == null) | |
{ | |
return; | |
} | |
for (File file : files) | |
{ | |
Image image = Image.load(file.getAbsolutePath()); | |
if (image.getWidth() > maxWidth) | |
{ | |
maxWidth = image.getWidth(); | |
} | |
if (image.getHeight() > maxHeight) | |
{ | |
maxHeight = image.getHeight(); | |
} | |
if (image instanceof VectorImage) | |
{ | |
throw new UnsupportedOperationException("Vector images is not supported by these code snippet. Please look at vector to booklet example to get the implementation idea."); | |
} | |
if (image instanceof IMultipageImage) | |
{ | |
Collections.addAll(singles, ((IMultipageImage) image).getPages()); | |
} | |
else | |
{ | |
singles.add(image); | |
} | |
images.add(image); | |
} | |
if (singles.isEmpty()) | |
{ | |
return; | |
} | |
String outputPath1 = TestDirectory + "multiframe.tiff"; | |
String outputPath2 = TestDirectory + "multipage.pdf"; | |
try (TiffImage tiffImage = new TiffImage(new TiffFrame((RasterImage) singles.get(0)))) | |
{ | |
for (int i = 1; i < singles.size(); i++) | |
{ | |
tiffImage.addPage((RasterImage) singles.get(i)); | |
} | |
// Save as muti frame tiff | |
tiffImage.save(outputPath1, new TiffOptions(TiffExpectedFormat.TiffJpegRgb)); | |
// Worry about Pdf ? That's it! | |
tiffImage.save(outputPath2, new PdfOptions()); | |
} | |
} | |
finally | |
{ | |
singles.clear(); | |
for (Image image : images) | |
{ | |
image.close(); | |
} | |
images.clear(); | |
} |
Aspose.Imaging for Java API . के बारे में
Aspose.Imaging API अनुप्रयोगों के भीतर छवियों (फ़ोटो) को बनाने, संशोधित करने, आकर्षित करने या परिवर्तित करने के लिए एक छवि प्रसंस्करण समाधान है। यह प्रदान करता है: क्रॉस-प्लेटफ़ॉर्म छवि प्रसंस्करण, जिसमें विभिन्न छवि प्रारूपों (समान बहु-पृष्ठ या बहु-फ़्रेम छवि प्रसंस्करण सहित) के बीच रूपांतरण शामिल हैं, लेकिन इन्हीं तक सीमित नहीं है, ड्राइंग जैसे संशोधन, ग्राफिक प्राइमेटिव के साथ काम करना, परिवर्तन (आकार बदलना, फसल करना, फ्लिप करना और घुमाना) , बिनाराइज़ेशन, ग्रेस्केल, एडजस्ट), उन्नत छवि हेरफेर सुविधाएँ (फ़िल्टरिंग, डिथरिंग, मास्किंग, डेस्क्यूइंग), और मेमोरी ऑप्टिमाइज़ेशन रणनीतियाँ। यह एक स्टैंडअलोन लाइब्रेरी है और इमेज ऑपरेशंस के लिए किसी सॉफ्टवेयर पर निर्भर नहीं है। परियोजनाओं के भीतर देशी एपीआई के साथ आसानी से उच्च-प्रदर्शन छवि रूपांतरण सुविधाएँ जोड़ सकते हैं। ये 100% निजी ऑन-प्रिमाइसेस एपीआई हैं और छवियों को आपके सर्वर पर संसाधित किया जाता है।ऑनलाइन ऐप के माध्यम से GIF को मर्ज करें
हमारी [लाइव डेमो वेबसाइट] ( https://products.aspose.app/imaging/image-merge ) पर जाकर GIF दस्तावेज़ों को मर्ज करें। लाइव डेमो के निम्नलिखित लाभ हैं
GIF क्या है GIF फाइल का प्रारूप
जीआईएफ या ग्राफिकल इंटरचेंज फॉर्मेट एक प्रकार की अत्यधिक संकुचित छवि है। यूनिसिस के स्वामित्व में, GIF LZW कम्प्रेशन एल्गोरिथम का उपयोग करता है जो छवि गुणवत्ता को कम नहीं करता है। प्रत्येक छवि के लिए GIF आमतौर पर प्रति पिक्सेल 8 बिट तक और छवि में 256 रंगों तक की अनुमति देता है। एक जेपीईजी छवि के विपरीत, जो 16 मिलियन रंगों तक प्रदर्शित कर सकती है और मानव आंख की सीमाओं को काफी हद तक छूती है। वापस जब इंटरनेट उभरा, जीआईएफ सबसे अच्छा विकल्प बना रहा क्योंकि उन्हें कम बैंडविड्थ की आवश्यकता थी और ग्राफिक्स के लिए संगत जो रंग के ठोस क्षेत्रों का उपभोग करते थे। एक एनिमेटेड जीआईएफ कई छवियों या फ़्रेमों को एक फ़ाइल में जोड़ता है और एक एनिमेटेड क्लिप या एक लघु वीडियो बनाने के लिए उन्हें एक क्रम में प्रदर्शित करता है। प्रत्येक फ्रेम के लिए रंग सीमाएं 256 तक हैं और रंग ढाल के साथ अन्य छवियों और तस्वीरों को पुन: प्रस्तुत करने के लिए कम से कम उपयुक्त होने की संभावना है।
अधिक पढ़ेंअन्य समर्थित मर्ज प्रारूप
Java का उपयोग करके, कोई भी व्यक्ति विभिन्न स्वरूपों को आसानी से मर्ज कर सकता है, जिनमें शामिल हैं।