1. Produkti
  2.   Attēls
  3.   Java
  4.   Apache Commons Imaging
 
  

Atvērtā pirmkoda Java attēlu apstrāde un manipulācijas

Vadošā atvērtā pirmkoda Java attēlu rediģēšanas un manipulācijas bibliotēka ļauj lasīt, rakstīt, manipulēt un pārveidot plaši izmantotos formātus, piemēram, PNG, JPEG, BMP, TIFF, ICO un citus.

Kas ir Apache Commons Imaging?

Apache Commons Imaging, agrāk pazīstama kā Sanselan, ir jaudīga atvērtā pirmkoda Java bibliotēka, kas izstrādāta Apache Commons projekta ietvaros. Tā ir daļa no plašāka Apache Commons projekta un piedāvā programmatūras izstrādātājiem efektīvu veidu, kā lasīt un rakstīt dažādus attēlu formātus, nepaļaujoties uz ārējām bibliotēkām. Programmatūras izstrādātāji var apstrādāt dažādus attēlu formātus, vienkāršojot uzdevumus, piemēram, attēlu lasīšanu un rakstīšanu, pārveidošanu citos formātos, attēlu metadatu apstrādi, pielāgotu attēlu renderēšanu, attēlu krāsu modeļus, attēlu manipulācijas utt. Bibliotēkas elastība padara to ideāli piemērotu lietojumprogrammām, kurām nepieciešama attēlu apstrāde, nepaļaujoties uz ārējām atkarībām. Bibliotēka nodrošina dažādus attēlu filtrus, tostarp izplūšanu, asumu un malu noteikšanu.

Apache Commons Imaging ir spēcīga un daudzpusīga bibliotēka, kas vienkāršo darbu ar attēlu failiem Java lietojumprogrammās. Tā ir uz Java balstīta bibliotēka, kas atbalsta vairākus attēlu formātus, piemēram, PNG, JPEG, BMP, GIF, TIFF, ICO un tā tālāk. Turklāt tas piedāvā rīkus attēlu analīzei, tostarp histogrammas aprēķināšanai, krāsu telpas konvertēšanai un attēlu segmentēšanai. Tā ir ideāla izvēle gan izstrādātājiem, gan pētniekiem, gan entuziastiem. Bibliotēka piedāvā efektīvu un vienkārši lietojamu API attēlu manipulācijai, kas var būt īpaši noderīga vidēs, kurās ir ierobežoti resursi. Neatkarīgi no tā, vai strādājat pie projekta, kuram nepieciešama attēlu apstrāde, vai vienkārši vēlaties eksperimentēt ar attēlu manipulācijām, Apache Commons Imaging noteikti ir vērts izpētīt.

Previous Next

Darba sākšana ar Apache Commons Imaging

Ieteicamais veids, kā instalēt Apache Commons Imaging, ir izmantot Maven Repository. Lūdzu, izmantojiet šo komandu, lai instalēšana noritētu vienmērīgi.

Maven repozitorijs programmai 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>

Instalējiet Apache Commons Imaging, izmantojot GitHub

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

Bibliotēku varat lejupielādēt tieši no GitHub produkta lapas

Attēla konvertēšana Java lietotnēs

Saderības vai optimizācijas nolūkos diagrammas, kas saglabātas vienā formātā (piem., PNG), iespējams, būs jāpārvērš citā formātā (piemēram, BMP vai JPEG). Apache Commons Imaging piedāvā konvertēšanas funkcijas, ļaujot izstrādātājiem bez piepūles konvertēt dažādus attēlu failu formātus starp atbalstītajiem formātiem. Šis piemērs parāda, cik viegli programmatūras izstrādātāji var pārvērst PNG failu BMP formātā. Process ir vienkāršs un var apstrādāt jebkuru atbalstīto formātu konvertēšanu, padarot to ideāli piemērotu lietojumprogrammām, kurām saderības nolūkos jāsaglabā attēli vairākos formātos.

Kā pārvērst PNG failu BMP faila formātā, izmantojot 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);

Attēlu manipulācija, izmantojot Java bibliotēku

Apache Commons Imaging var izmantot kopā ar citām Java bibliotēkām, piemēram, BufferedImage, lai veiktu izplatītas attēlu transformācijas, piemēram, izmēru maiņu, apgriešanu un mērogošanu. Izmēru maiņai tiek izmantota metode Scalr.resize() no citas Java attēlu apstrādes bibliotēkas (imgscalr), kam seko mainītā attēla saglabāšana, izmantojot Apache Commons Imaging. Tas nodrošina nemanāmu integrāciju ar citām Java bibliotēkām, lai uzlabotu attēlu manipulācijas.

Kā mainīt attēla izmēru Java lietotnēs?

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

Attēla metadatu iegūšana, izmantojot Java API

Viena no galvenajām Apache Commons Imaging funkcijām ir tā spēja iegūt metadatus no Java lietojumprogrammu attēliem. Diagrammām šie metadati var saturēt noderīgu informāciju, piemēram, izveides datumu, modifikāciju vēsturi vai autora informāciju. Šī iespēja ļauj izstrādātājiem apstrādāt diagrammu attēlus tādos veidos, kas pārsniedz vienkāršu attēlošanu. Šis piemērs parāda, kā programmatūras izstrādātāji var iegūt metadatus no Java lietojumprogrammu attēliem.

Kā izvilkt metadatus no attēliem, izmantojot 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());

Pielāgota attēlu renderēšana Java lietotnēs

Programmatūras izstrādātāji var izmantot Apache Commons Imaging, lai ģenerētu attēlu lidojumā vai modificētu esošos Java lietojumprogrammās. Apvienojot bibliotēku ar Java vietējo Graphics2D, ir iespējams programmatiski zīmēt attēlus vai pievienot anotācijas. Šis koda piemērs izveido tukšu attēlu, pievieno tam tekstu un saglabā to kā PNG failu. Tas parāda, kā Apache Commons Imaging var strādāt ar Java zīmēšanas API, lai ģenerētu attēlus no jauna.

Kā ģenerēt attēlus no nulles, izmantojot 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);
 Latviski