Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save aspose-com-gists/c35e6fbf62572d57fc2022ccc8ba0253 to your computer and use it in GitHub Desktop.
Save aspose-com-gists/c35e6fbf62572d57fc2022ccc8ba0253 to your computer and use it in GitHub Desktop.

Aspose.Imaging Java API allows to easy crop your images or photos with high quality in your Java application or Web service.

You can:

  • crop one or few images;
  • crop a multi-page image;
  • crop vector images.

Interested ?

You may go further at : https://products.aspose.com/imaging/java/

import com.aspose.imaging.Image;
import com.aspose.imaging.RasterImage;
import com.aspose.imaging.imageoptions.PngOptions;
import java.util.Arrays;
import java.util.List;
import java.util.function.Consumer;
// Folder that contains images to process
final String templatesFolder = "c:\\Data\\";
List<String> rasterFormatsWithoutExporter = Arrays.asList("dng");
rasterFormatsWithoutExporter.forEach(new Consumer<String>()
{
@Override
public void accept(String formatExt)
{
String inputFile = templatesFolder + "template." + formatExt;
String outputFile = templatesFolder + "cropped_" + formatExt + ".png";
try (RasterImage image = (RasterImage) Image.load(inputFile))
{
// More about Crop operation can be found
// at https://apireference.aspose.com/imaging/java/com.aspose.imaging/RasterImage#crop-int-int-int-int-
int xOffset = image.getWidth() / 4;
int yOffset = image.getHeight() / 4;
image.crop(xOffset, xOffset, yOffset, yOffset);
image.save(outputFile, new PngOptions());
}
}
});
import com.aspose.imaging.Image;
import com.aspose.imaging.RasterImage;
import java.util.Arrays;
import java.util.List;
import java.util.function.Consumer;
// Folder that contains images to process
final String templatesFolder = "C:\\Data\\";
List<String> rasterFormats = Arrays.asList("png", "bmp", "apng", "dicom",
"jpg", "jp2", "j2k", "tga", "webp", "tif", "gif", "ico");
rasterFormats.forEach(new Consumer<String>()
{
@Override
public void accept(String formatExt)
{
String inputFile = templatesFolder + "template." + formatExt;
String outputFile = templatesFolder + "cropped" + formatExt;
try (RasterImage image = (RasterImage)Image.load(inputFile))
{
// More about Crop operation can be found
// at https://apireference.aspose.com/imaging/java/com.aspose.imaging/RasterImage#crop-int-int-int-int-
int xOffset = image.getWidth() / 4;
int yOffset = image.getHeight() / 4;
image.crop(xOffset, xOffset, yOffset, yOffset);
image.save(outputFile);
}
}
});
import com.aspose.imaging.Image;
import com.aspose.imaging.fileformats.emf.MetaImage;
import java.util.Arrays;
import java.util.List;
import java.util.function.Consumer;
// Folder that contains images to process
final String templatesFolder = "c:\\Data\\";
List<String> metaFormats = Arrays.asList("emf", "emz", "wmf", "wmz");
metaFormats.forEach(new Consumer<String>()
{
@Override
public void accept(String formatExt)
{
String inputFile = templatesFolder + "template." + formatExt;
String outputFile = templatesFolder + "cropped." + formatExt;
try (MetaImage image = (MetaImage) Image.load(inputFile))
{
// More about Crop operation can be found
// at https://apireference.aspose.com/imaging/java/com.aspose.imaging.fileformats.emf/MetaImage#crop-int-int-int-int-
int xOffset = image.getWidth() / 4;
int yOffset = image.getHeight() / 4;
image.crop(xOffset, xOffset, yOffset, yOffset);
image.save(outputFile);
}
}
});
import com.aspose.imaging.IMultipageImage;
import com.aspose.imaging.Image;
import com.aspose.imaging.RasterImage;
import com.aspose.imaging.fileformats.tiff.enums.TiffExpectedFormat;
import com.aspose.imaging.imageoptions.TiffOptions;
import java.util.Arrays;
import java.util.List;
import java.util.function.Consumer;
// Folder that contains images to process
final String templatesFolder = "c:\\Data\\";
List<String> multipagedRasterFormatsWithoutExporter = Arrays.asList("djvu");
multipagedRasterFormatsWithoutExporter.forEach(new Consumer<String>()
{
@Override
public void accept(String formatExt)
{
String inputFile = templatesFolder + "template." + formatExt;
String outputFile = templatesFolder + "cropped_" + formatExt + ".tif";
try (Image image = Image.load(inputFile))
{
IMultipageImage multipage = (IMultipageImage)image;
for (Image page : multipage.getPages())
{
RasterImage rasterPage = (RasterImage)page;
// More about Crop operation can be found
// at https://apireference.aspose.com/imaging/java/com.aspose.imaging/RasterImage#crop-int-int-int-int-
int xOffset = page.getWidth() / 4;
int yOffset = page.getHeight() / 4;
rasterPage.crop(xOffset, xOffset, yOffset, yOffset);
}
image.save(outputFile, new TiffOptions(TiffExpectedFormat.TiffJpegRgb));
}
}
});
import com.aspose.imaging.Image;
import com.aspose.imaging.RasterImage;
import com.aspose.imaging.fileformats.tiff.enums.TiffExpectedFormat;
import com.aspose.imaging.imageoptions.TiffOptions;
import java.util.Arrays;
import java.util.List;
import java.util.function.Consumer;
// Folder that contains images to process
final String templatesFolder = "c:\\Data\\";
List<String> formats = Arrays.asList("cdr", "cmx", "otg", "odg");
formats.forEach(new Consumer<String>()
{
@Override
public void accept(String formatExt)
{
String inputFile = templatesFolder + "template." + formatExt;
String outputFile = templatesFolder + "cropped." + formatExt + ".tiff";
try (Image image = Image.load(inputFile))
{
image.save(outputFile, new TiffOptions(TiffExpectedFormat.Default));
}
try (RasterImage image = (RasterImage) Image.load(outputFile))
{
// More about Crop operation can be found
// at https://apireference.aspose.com/imaging/java/com.aspose.imaging/RasterImage#crop-int-int-int-int-
int xOffset = image.getWidth() / 4;
int yOffset = image.getHeight() / 4;
image.crop(xOffset, xOffset, yOffset, yOffset);
image.save();
}
}
});
import com.aspose.imaging.Image;
import com.aspose.imaging.RasterImage;
import com.aspose.imaging.imageoptions.PngOptions;
import java.util.Arrays;
import java.util.List;
import java.util.function.Consumer;
// Folder that contains images to process
final String templatesFolder = "c:\\Data\\";
List<String> formats = Arrays.asList("svg", "eps");
formats.forEach(new Consumer<String>()
{
@Override
public void accept(String formatExt)
{
String inputFile = templatesFolder + "template." + formatExt;
String outputFile = templatesFolder + "cropped." + formatExt + ".png";
try (Image image = Image.load(inputFile))
{
image.save(outputFile, new PngOptions());
}
try (RasterImage image = (RasterImage) Image.load(outputFile))
{
// More about Crop operation can be found
// at https://apireference.aspose.com/imaging/java/com.aspose.imaging/RasterImage#crop-int-int-int-int-
int xOffset = image.getWidth() / 4;
int yOffset = image.getHeight() / 4;
image.crop(xOffset, xOffset, yOffset, yOffset);
image.save();
}
}
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment