1. Produktai
  2.   Vaizdas
  3.   Java
  4.   Apache Commons Imaging
 
  

Atvirojo kodo Java vaizdo apdorojimas ir manipuliavimas

Pirmaujanti atvirojo kodo Java vaizdų redagavimo ir manipuliavimo biblioteka leidžia skaityti, rašyti, manipuliuoti ir konvertuoti plačiai naudojamus formatus, tokius kaip PNG, JPEG, BMP, TIFF, ICO ir kt.

Kas yra „Apache Commons Imaging“?

Apache Commons Imaging, anksčiau žinoma kaip Sanselan, yra galinga atvirojo kodo Java biblioteka, sukurta pagal Apache Commons projektą. Tai yra platesnio „Apache Commons“ projekto dalis ir siūlo programinės įrangos kūrėjams veiksmingą būdą skaityti ir rašyti įvairius vaizdo formatus, nepasikliaujant išorinėmis bibliotekomis. Programinės įrangos kūrėjai gali valdyti įvairius vaizdo formatus, supaprastindami užduotis, tokias kaip vaizdų skaitymas ir rašymas, konvertavimas į kitus formatus, vaizdo metaduomenų tvarkymas, pasirinktinis vaizdo atvaizdavimas, vaizdo spalvų modeliai, vaizdo manipuliavimas ir pan. Dėl bibliotekos lankstumo ji idealiai tinka programoms, kurioms reikalingas vaizdo apdorojimas, nepasikliaujant išorinėmis priklausomybėmis. Bibliotekoje yra įvairių vaizdo filtrų, įskaitant suliejimo, paryškinimo ir kraštų aptikimą.

Apache Commons Imaging yra tvirta ir universali biblioteka, supaprastinanti darbą su vaizdo failais Java programose. Tai Java pagrindu sukurta biblioteka, palaikanti kelis vaizdo formatus, tokius kaip PNG, JPEG, BMP, GIF, TIFF, ICO ir pan. Be to, ji siūlo vaizdų analizės įrankius, įskaitant histogramos skaičiavimą, spalvų erdvės konvertavimą ir vaizdo segmentavimą. Tai idealus pasirinkimas kūrėjams, tyrėjams ir entuziastams. Biblioteka siūlo efektyvią ir paprastai naudojamą API, skirtą vaizdų manipuliavimui, kuri gali būti ypač naudinga ribotų išteklių aplinkoje. Nesvarbu, ar dirbate su projektu, kuriam reikalingas vaizdo apdorojimas, ar tiesiog norite eksperimentuoti su vaizdo manipuliavimu, Apache Commons Imaging tikrai verta ištirti.

Previous Next

Darbo su Apache Commons Imaging pradžia

Rekomenduojamas būdas įdiegti „Apache Commons Imaging“ yra „Maven“ saugykla. Norėdami sklandžiai įdiegti, naudokite šią komandą.

Maven saugykla, skirta 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>

Įdiekite „Apache Commons Imaging“ per „GitHub“

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

Biblioteką galite atsisiųsti tiesiogiai iš GitHub produkto puslapio

Vaizdo konvertavimas Java programose

Siekiant suderinamumo ar optimizavimo, vienu formatu (pvz., PNG) saugomas diagramas gali reikėti konvertuoti į kitą formatą (pvz., BMP arba JPEG). „Apache Commons Imaging“ siūlo konvertavimo funkcijas, leidžiančias kūrėjams lengvai konvertuoti įvairius vaizdo failų formatus į palaikomus formatus. Šis pavyzdys rodo, kaip lengvai programinės įrangos kūrėjai gali konvertuoti PNG failą į BMP formatą. Procesas yra nesudėtingas ir gali konvertuoti bet kokius palaikomus formatus, todėl jis puikiai tinka programoms, kurioms suderinamumo tikslais reikia išsaugoti vaizdus keliais formatais.

Kaip konvertuoti PNG failą į BMP failo formatą naudojant 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);

Vaizdo manipuliavimas naudojant „Java“ biblioteką

„Apache Commons Imaging“ galima naudoti kartu su kitomis „Java“ bibliotekomis, tokiomis kaip „BufferedImage“, kad būtų galima atlikti įprastas vaizdo transformacijas, tokias kaip dydžio keitimas, apkarpymas ir mastelio keitimas. Dydžiui keisti naudojamas Scalr.resize() metodas iš kitos Java vaizdų apdorojimo bibliotekos (imgscalr), o po to pakeisto dydžio vaizdas išsaugomas naudojant Apache Commons Imaging. Tai leidžia sklandžiai integruoti su kitomis „Java“ bibliotekomis, kad būtų galima patobulinti vaizdą.

Kaip pakeisti vaizdo dydį „Java Apps“?

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

Vaizdo metaduomenų išgavimas naudojant „Java“ API

Viena iš pagrindinių „Apache Commons Imaging“ funkcijų yra galimybė išgauti metaduomenis iš „Java“ programų vaizdų. Diagramoms šiuose metaduomenyse gali būti naudingos informacijos, tokios kaip sukūrimo data, pakeitimų istorija arba išsami informacija apie autorių. Ši galimybė leidžia kūrėjams apdoroti diagramų vaizdus būdais, kurie apima ne tik atvaizdavimą. Toliau pateiktame pavyzdyje parodyta, kaip programinės įrangos kūrėjai gali išgauti metaduomenis iš vaizdų „Java“ programose.

Kaip išgauti metaduomenis iš vaizdų naudojant 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());

Tinkintas vaizdo atvaizdavimas Java programose

Programinės įrangos kūrėjai gali naudoti „Apache Commons Imaging“, kad sukurtų vaizdą arba modifikuotų esamus „Java“ programose. Sujungus biblioteką su savąja Java Graphics2D, galima programiškai piešti vaizdus arba pridėti komentarų. Šis kodo pavyzdys sukuria tuščią vaizdą, prideda prie jo teksto ir išsaugo jį kaip PNG failą. Tai parodo, kaip „Apache Commons Imaging“ gali dirbti su „Java“ piešimo API ir generuoti vaizdus nuo nulio.

Kaip generuoti vaizdus nuo nulio naudojant „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);
 Lietuvių