Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save ESidenko/c35d7025b661f0514267f32298bb8a3a to your computer and use it in GitHub Desktop.
Save ESidenko/c35d7025b661f0514267f32298bb8a3a 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");
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