1. produkty
  2.   obraz
  3.   Java
  4.   Apache Commons Imaging
 
  

Open Source Java Image Processing and manipulation

Přední knihovna pro úpravy a manipulaci s obrázky v Javě s otevřeným zdrojovým kódem umožňuje číst, zapisovat, manipulovat a převádět široce používané formáty jako PNG, JPEG, BMP, TIFF, ICO a další.

Co je to Apache Commons Imaging?

Apache Commons Imaging, dříve známý jako Sanselan, je výkonná knihovna Java s otevřeným zdrojovým kódem vyvinutá v rámci projektu Apache Commons. Je součástí širšího projektu Apache Commons a nabízí vývojářům softwaru efektivní způsob, jak číst a zapisovat různé obrazové formáty, aniž by se spoléhali na externí knihovny. Softwaroví vývojáři mohou zpracovávat širokou škálu obrazových formátů, což zjednodušuje úkoly, jako je čtení a zápis obrázků, převod do jiných formátů, zpracování metadat obrázků, vlastní vykreslování obrázků, barevné modely obrázků, manipulace s obrázky a tak dále. Díky flexibilitě knihovny je ideální pro aplikace vyžadující zpracování obrazu bez spoléhání se na externí závislosti. Knihovna poskytuje řadu obrazových filtrů, včetně rozmazání, doostření a detekce okrajů.

Apache Commons Imaging je robustní a všestranná knihovna, která zjednodušuje proces práce se soubory obrázků v aplikacích Java. Jedná se o knihovnu založenou na Javě, která podporuje více obrazových formátů, jako jsou PNG, JPEG, BMP, GIF, TIFF, ICO a tak dále. Navíc nabízí nástroje pro analýzu obrazu, včetně výpočtu histogramu, konverze barevného prostoru a segmentace obrazu. Je to ideální volba pro vývojáře, výzkumníky i nadšence. Knihovna nabízí efektivní a snadno použitelné API pro manipulaci s obrázky, které může být užitečné zejména v prostředích s omezenými zdroji. Ať už pracujete na projektu, který vyžaduje zpracování obrazu, nebo jen chcete experimentovat s manipulací s obrázky, Apache Commons Imaging rozhodně stojí za prozkoumání.

Previous Next

Začínáme s Apache Commons Imaging

Doporučený způsob instalace Apache Commons Imaging je použití Maven Repository. Pro bezproblémovou instalaci použijte prosím následující příkaz.

Úložiště Maven pro 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>

Instalace Apache Commons Imaging přes GitHub

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

Knihovnu si můžete stáhnout přímo z stránky produktu GitHub

Konverze obrázků v aplikacích Java

Diagramy uložené v jednom formátu (např. PNG) může být nutné převést do jiného formátu (např. BMP nebo JPEG) z důvodu kompatibility nebo optimalizace. Apache Commons Imaging nabízí konverzní funkce, které vývojářům umožňují bez námahy převádět různé formáty obrazových souborů mezi podporovanými formáty. Následující příklad ukazuje, jak snadno mohou vývojáři softwaru převést soubor PNG do formátu BMP. Tento proces je přímočarý a dokáže zpracovat převody mezi všemi podporovanými formáty, takže je ideální pro aplikace, které potřebují ukládat obrázky ve více formátech z důvodu kompatibility.

Jak převést soubor PNG na formát souboru BMP prostřednictvím rozhraní 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);

Manipulace s obrázky prostřednictvím knihovny Java

Apache Commons Imaging lze použít v kombinaci s dalšími knihovnami Java, jako je BufferedImage, k provádění běžných transformací obrázků, jako je změna velikosti, oříznutí a změna měřítka. Ke změně velikosti se používá metoda Scalr.resize() z jiné knihovny pro zpracování obrázků Java (imgscalr), po níž následuje uložení obrázku se změněnou velikostí pomocí Apache Commons Imaging. To umožňuje bezproblémovou integraci s dalšími knihovnami Java pro pokročilou manipulaci s obrázky.

Jak změnit velikost obrázku v aplikacích Java?

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);

Extrakce metadat obrázku prostřednictvím rozhraní Java API

Jednou z klíčových funkcí Apache Commons Imaging je jeho schopnost extrahovat metadata z obrázků v aplikacích Java. U diagramů mohou tato metadata obsahovat užitečné informace, jako je datum vytvoření, historie úprav nebo podrobnosti o autorovi. Tato schopnost umožňuje vývojářům zpracovávat obrázky diagramů způsoby, které přesahují pouhé zobrazení. Následující příklad ukazuje, jak mohou vývojáři softwaru extrahovat metadata z obrázků v aplikacích Java.

Jak extrahovat metadata z obrázků přes 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());

Vlastní vykreslování obrázků v aplikacích Java

Vývojáři softwaru mohou pomocí Apache Commons Imaging generovat obrázky za běhu nebo upravovat ty stávající v aplikacích Java. Kombinací knihovny s nativním Java Graphics2D je možné kreslit obrázky programově nebo přidávat anotace. Následující příklad kódu vytvoří prázdný obrázek, přidá k němu text a uloží jej jako soubor PNG. Ukazuje, jak může Apache Commons Imaging pracovat s kreslicími API Java a vytvářet obrázky od začátku.

Jak generovat obrázky od začátku přes 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);
 Čeština