Eikite į GIF per Java
Kurkite savo Java programas, kad sujungtumėte GIF failus naudodami serverio API.
Kaip sujungti GIF failus naudojant Java
Jei norite paleisti savo kūrybiškumą, pats laikas naudoti vaizdo koliažą. Ši funkcija leis sujungti nuotraukas ir vaizdus, net jei šaltinio failai yra skirtingų formatų. Puikus būdas atkreipti dėmesį į savo portfolio – naudoti fototapetus su pasikartojančiais vaizdais ar raštais. Tokiu atveju vaizdus galima derinti tiek horizontalia, tiek vertikalia kryptimis. Jei jums reikia parodyti failo apdorojimo rezultatą, galite lengvai sujungti du vaizdus: prieš ir po to, kai pritaikysite nuotraukos efektą. Norėdami sujungti GIF failus, naudosime Aspose.Imaging for Java API, kuri yra daug funkcijų, galinga ir lengvai naudojama vaizdo manipuliavimo ir konvertavimo API, skirta Java platformai. Naujausią jos versiją galite atsisiųsti tiesiai iš Maven ir įdiekite jį savo Maven pagrįstame projekte, pridėdami toliau nurodytas konfigūracijas prie pom.xml.
Repository
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
Priklausomybė
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-imaging</artifactId>
<version>version of aspose-imaging API</version>
<classifier>jdk16</classifier>
</dependency>
Veiksmai, kaip sujungti GIF naudojant Java
Jums reikia aspose-imaging-version-jdk16.jar norėdami išbandyti šią darbo eigą savo aplinkoje.
- Įkelkite GIF failus naudodami Image.load metodą
- Vaizdų sujungimas į naują
- Išsaugokite apkarpytą vaizdą į diską palaikomu Aspose.Imaging formatu
Sistemos reikalavimai
„Aspose.Imaging“, skirta Java, palaikoma visose pagrindinėse operacinėse sistemose. Tiesiog įsitikinkite, kad turite šias būtinas sąlygas.
- Įdiegta JDK 1.6 arba naujesnė versija.
Sujungti GIF vaizdus – 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(); | |
} |
Apie „Aspose.Imaging“, skirta Java API
Aspose.Imaging API yra vaizdo apdorojimo sprendimas, skirtas kurti, modifikuoti, piešti ar konvertuoti vaizdus (nuotraukas) programose. Ji siūlo: kelių platformų vaizdo apdorojimą, įskaitant, bet tuo neapsiribojant, konvertavimą tarp įvairių vaizdo formatų (įskaitant vienodą kelių puslapių arba kelių kadrų vaizdo apdorojimą), modifikacijas, tokias kaip piešimas, darbas su grafiniais primityvais, transformacijos (keisti dydį, apkarpyti, apversti ir pasukti). , dvejetainis, pilkos spalvos tonas, koregavimas), pažangios vaizdo apdorojimo funkcijos (filtravimas, keitimas, maskavimas, iškrypimas) ir atminties optimizavimo strategijos. Tai yra atskira biblioteka ir nepriklauso nuo jokios programinės įrangos vaizdo operacijoms. Projektuose galima lengvai pridėti didelio našumo vaizdo konvertavimo funkcijų naudojant vietines API. Tai yra 100 % privačios vietinės API, o vaizdai apdorojami jūsų serveriuose.Sujunkite GIF naudodami internetinę programą
Sujunkite GIF dokumentus apsilankę mūsų tiesioginės demonstracinės versijos svetainėje . Tiesioginė demonstracinė versija turi šiuos privalumus
GIF Kas yra GIF Failo formatas
GIF arba grafinis mainų formatas yra labai suspausto vaizdo tipas. „Unisys“ priklausantis GIF naudoja LZW glaudinimo algoritmą, kuris nepablogina vaizdo kokybės. Kiekvienam vaizdui GIF paprastai leidžia iki 8 bitų viename pikselyje ir iki 256 spalvų visame vaizde. Priešingai nei JPEG vaizdas, kuris gali rodyti iki 16 milijonų spalvų ir gana paliečia žmogaus akies ribas. Kai atsirado internetas, GIF išliko geriausiu pasirinkimu, nes jiems reikėjo mažo pralaidumo ir jie buvo suderinami su grafika, kuri naudoja vientisas spalvų sritis. Animacinis GIF sujungia daugybę vaizdų arba kadrų į vieną failą ir pateikia juos seka, kad būtų sukurtas animacinis klipas arba trumpas vaizdo įrašas. Spalvų apribojimai yra iki 256 kiekvienam kadrui ir greičiausiai bus mažiausiai tinkami kitiems vaizdams ir nuotraukoms su spalvų gradientu atkurti.
Skaityti daugiauKiti palaikomi sujungimo formatai
Naudojant Java, galima lengvai sujungti įvairius formatus, įskaitant.