How to change the DPI of a photo in Java

Adjusting the dots per inch of a photo can have huge value when it comes time to print or web display an image. Being able to adjust this to a common value en mass is the focus of today’s tutorial. We will be using a Cloudmersive API to painlessly complete this chore, and we will do it in under 5 minutes. Let’s get started.

First we need to edit our Maven POM file and add two references.

Repository reference:

<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>

Dependency reference:

<dependencies>
<dependency>
<groupId>com.github.Cloudmersive</groupId>
<artifactId>Cloudmersive.APIClient.Java</artifactId>
<version>v2.75</version>
</dependency>
</dependencies>

All that’s left is to call convertImageImageSetDPI and provide it with a file and desired DPI value:

// Import classes://import com.cloudmersive.client.invoker.ApiClient;//import com.cloudmersive.client.invoker.ApiException;//import com.cloudmersive.client.invoker.Configuration;//import com.cloudmersive.client.invoker.auth.*;//import com.cloudmersive.client.ConvertImageApi;ApiClient defaultClient = Configuration.getDefaultApiClient();// Configure API key authorization: ApikeyApiKeyAuth Apikey = (ApiKeyAuth) defaultClient.getAuthentication("Apikey");Apikey.setApiKey("YOUR API KEY");// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)//Apikey.setApiKeyPrefix("Token");ConvertImageApi apiInstance = new ConvertImageApi();Integer dpi = 56; // Integer | New DPI in pixels-per-inch, for example 300 DPI or 600 DPIFile inputFile = new File("/path/to/file"); // File | Input file to perform the operation on.try {byte[] result = apiInstance.convertImageImageSetDPI(dpi, inputFile);System.out.println(result);} catch (ApiException e) {System.err.println("Exception when calling ConvertImageApi#convertImageImageSetDPI");e.printStackTrace();}

That’s it! Our image will now have the desired DPI. Our APIs provide a plethora of other image-related functionality, including converting between image formats, resizing, and facial recognition, so be sure to check out our documentation section.

Written by

There’s an API for that. Cloudmersive is a leader in Highly Scalable Cloud APIs.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store