1. Produkter
  2.   Bilde
  3.   Java
  4.   Apache Commons Imaging
 
  

Open Source Java bildebehandling og manipulering

Det ledende Java-bilderedigerings- og manipulasjonsbiblioteket med åpen kildekode lar deg lese, skrive, manipulere og konvertere mye brukte formater som PNG, JPEG, BMP, TIFF, ICO og mer.

Hva er Apache Commons Imaging?

Apache Commons Imaging, tidligere kjent som Sanselan, er et kraftig, åpen kildekode Java-bibliotek utviklet under Apache Commons-prosjektet. Det er en del av det bredere Apache Commons-prosjektet og tilbyr programvareutviklere en effektiv måte å lese og skrive en rekke bildeformater uten å stole på eksterne biblioteker. Programvareutviklere kan håndtere en lang rekke bildeformater, forenkle oppgaver som bildelesing og skriving, konvertering til andre formater, håndtering av bildemetadata, tilpasset bildegjengivelse, bildefargemodeller, bildemanipulering og så videre. Bibliotekets fleksibilitet gjør det ideelt for applikasjoner som krever bildebehandling uten å stole på eksterne avhengigheter. Biblioteket tilbyr en rekke bildefiltre, inkludert uskarphet, skarphet og kantdeteksjon.

Apache Commons Imaging er et robust og allsidig bibliotek som forenkler prosessen med å jobbe med bildefiler i Java-applikasjoner. Det er et Java-basert bibliotek som støtter flere bildeformater som PNG, JPEG, BMP, GIF, TIFF, ICO og så videre. Dessuten tilbyr den verktøy for bildeanalyse, inkludert histogramberegning, fargeromkonvertering og bildesegmentering. Det er et ideelt valg for både utviklere, forskere og entusiaster. Biblioteket tilbyr en effektiv og enkel å bruke API for bildemanipulering, som kan være spesielt nyttig i miljøer med begrensede ressurser. Enten du jobber med et prosjekt som krever bildebehandling, eller bare ønsker å eksperimentere med bildemanipulering, er Apache Commons Imaging definitivt verdt å utforske.

Previous Next

Kom i gang med Apache Commons Imaging

Den anbefalte måten å installere Apache Commons Imaging på er å bruke Maven Repository. Bruk følgende kommando for en jevn installasjon.

Maven-depot for Apache Commons Imaging

 

<repositories>
	<repository>
	<id>AsposeJavaAPI</id>
	<name>Aspose Java API</name>
	<url>https://releases.aspose.com/java/repo/</url>
	</repository>
</repositories>

//Define Aspose.PDF for Java API Dependency

<dependencies>
	<dependency>
	<groupId>org.apache.commons</groupId>
	<artifactId>commons-imaging</artifactId>
	<version>1.0.0-alpha5</version>
	</dependency>
</dependencies>

Installer Apache Commons Imaging via GitHub

go get -u https://github.com/apache/commons-imaging.git 

Du kan laste ned biblioteket direkte fra GitHub-produktsiden

Bildekonvertering i java-apper

Diagrammer lagret i ett format (f.eks. PNG) må kanskje konverteres til et annet format (f.eks. BMP eller JPEG) for kompatibilitets- eller optimaliseringsformål. Apache Commons Imaging tilbyr konverteringsfunksjoner som lar utviklere enkelt konvertere ulike bildefilformater mellom støttede formater. Følgende eksempel viser hvor enkelt programvareutviklere kan konvertere en PNG-fil til BMP-formatet. Prosessen er enkel og kan håndtere konverteringer mellom alle støttede formater, noe som gjør den ideell for programmer som trenger å lagre bilder i flere formater for kompatibilitetsformål.

Hvordan konvertere en PNG-fil til BMP-filformat via Java API?


File inputFile = new File("diagram.png");
BufferedImage image = Imaging.getBufferedImage(inputFile);
File outputFile = new File("converted_image.bmp");
Imaging.writeImage(image, outputFile, ImageFormats.BMP, null);

Bildemanipulering via Java Library

Apache Commons Imaging kan brukes i kombinasjon med andre Java-biblioteker som BufferedImage for å utføre vanlige bildetransformasjoner som endring av størrelse, beskjæring og skalering. Scalr.resize()-metoden fra et annet Java-bildebehandlingsbibliotek (imgscalr) brukes for å endre størrelse, etterfulgt av lagring av det endrede bildet ved hjelp av Apache Commons Imaging. Dette muliggjør sømløs integrasjon med andre Java-biblioteker for avansert bildemanipulering.

Hvordan endre størrelsen på et bilde i Java-apper?

BufferedImage originalImage = Imaging.getBufferedImage(new File("sample_image.png"));
BufferedImage resizedImage = Scalr.resize(originalImage, 300); // Resize width to 300px

File outputFile = new File("resized_image.png");
Imaging.writeImage(resizedImage, outputFile, ImageFormats.PNG, null);

Uttrekk av bildemetadata via Java API

En av hovedtrekkene til Apache Commons Imaging er dens evne til å trekke ut metadata fra bilder i Java-applikasjoner. For diagrammer kan disse metadataene inneholde nyttig informasjon som opprettelsesdato, endringshistorikk eller forfatterdetaljer. Denne funksjonen lar utviklere behandle diagrambilder på måter som strekker seg utover bare visning. Følgende eksempel viser hvordan programvareutviklere kan trekke ut metadata fra bilder i Java-applikasjoner.

Hvordan trekke ut metadata fra bilder via Java API?

File imageFile = new File("diagram.png");
ImageInfo imageInfo = Imaging.getImageInfo(imageFile);
System.out.println("Format: " + imageInfo.getFormat());
System.out.println("Width: " + imageInfo.getWidth());
System.out.println("Height: " + imageInfo.getHeight());

Tilpasset bildegjengivelse i Java-apper

Programvareutviklere kan bruke Apache Commons Imaging for å generere bilder på farten eller endre eksisterende i java-applikasjoner. Ved å kombinere biblioteket med Javas opprinnelige Graphics2D, er det mulig å tegne på bilder programmatisk eller legge til merknader. Følgende kodeeksempel oppretter et tomt bilde, legger til tekst i det og lagrer det som en PNG-fil. Den demonstrerer hvordan Apache Commons Imaging kan jobbe med Javas tegne-APIer for å generere bilder fra bunnen av.

Hvordan genererer jeg bilder fra bunnen av via Java?

BufferedImage image = new BufferedImage(400, 300, BufferedImage.TYPE_INT_RGB);
Graphics2D graphics = image.createGraphics();
graphics.setPaint(Color.WHITE);
graphics.fillRect(0, 0, image.getWidth(), image.getHeight());

graphics.setPaint(Color.BLACK);
graphics.setFont(new Font("Arial", Font.BOLD, 20));
graphics.drawString("Custom Diagram", 100, 150);

graphics.dispose();
File outputFile = new File("custom_image.png");
Imaging.writeImage(image, outputFile, ImageFormats.PNG, null);
 Norsk