Class ImageUtil

java.lang.Object
com.logicaldoc.core.imaging.ImageUtil

public class ImageUtil extends Object
Utility methods for handling images
Since:
8.5.3
Author:
Marco Meschieri - LogicalDOC
  • Method Details

    • saveImage

      public static void saveImage(String content, File file) throws IOException
      Saves an image into a given file in an image format
      Parameters:
      content - the content of the image Base64 encoded
      file - the output file
      Throws:
      IOException - in case of I/O error
    • cropImageToFile

      public static void cropImageToFile(String content, ImageZone zone, File file) throws IOException
      Crops an area and stores it in a given .jpg file
      Parameters:
      content - the content of the source image Base64 encoded
      zone - the zone definition
      file - the output file
      Throws:
      IOException - an I/O error
    • cropImage

      public static BufferedImage cropImage(BufferedImage originalImage, ImageZone zone)
      Crops an area from given image
      Parameters:
      originalImage - the original image
      zone - the zone definition
      Returns:
      the cropped image
    • cropCenterSquare

      public static BufferedImage cropCenterSquare(BufferedImage originalImage, int squareSize)
      Crops a square at the center of the given image
      Parameters:
      originalImage - the original image
      squareSize - size of the square
      Returns:
      the cropped square
    • cropVisibleContent

      public static int[] cropVisibleContent(File src, File dst) throws IOException
      Crops an image leaving the smallest square containing something visible
      Parameters:
      src - the source image file
      dst - the cropped image file (png format)
      Returns:
      width and height of the cropped image
      Throws:
      IOException - In case of elaboration error
    • pasteImage

      public static void pasteImage(BufferedImage container, BufferedImage imageIn, float opaque, int x, int y)
      Prints the contents of imageIn on container the given opaque value
      Parameters:
      container - the bigger image
      imageIn - the image to print in
      opaque - and indication of how opaque must be the print
      x - left coordinate
      y - top coordinate
    • encodeImage

      public static String encodeImage(File image) throws IOException
      Encodes in Base64 the given image file
      Parameters:
      image - the image to encode
      Returns:
      the encoded image
      Throws:
      IOException - error in the elaboration of the image
    • printFirstPage

      public static void printFirstPage(File originalFile, String originalFileName, File out) throws IOException
      Prints the first page of the given file into the output as .jpg image
      Parameters:
      originalFile - the original file
      originalFileName - the original filename
      out - the output .jpg file
      Throws:
      IOException - a generic I/O error
    • isBlack

      public static boolean isBlack(BufferedImage image, int x, int y)
      Whether the pixel is black.
      Parameters:
      image - source image
      x - x coordinate
      y - y coordinate
      Returns:
      true only if the image is black
    • isBlack

      public static boolean isBlack(BufferedImage image, int x, int y, int luminanceCutOff)
      Whether the pixel is black.
      Parameters:
      image - source image
      x - x coordinate
      y - y coordinate
      luminanceCutOff - cut off luminance
      Returns:
      true only if the image is black
    • rotate

      public static BufferedImage rotate(BufferedImage image, double angle, int cx, int cy)
      Rotates image.
      Parameters:
      image - source image
      angle - by degrees
      cx - x-coordinate of pivot point
      cy - y-coordinate of pivot point
      Returns:
      rotated image
    • getScaledInstance

      public static BufferedImage getScaledInstance(BufferedImage image, int targetWidth, int targetHeight)
      Convenience method that returns a scaled instance of the provided BufferedImage.
      Parameters:
      image - the original image to be scaled
      targetWidth - the desired width of the scaled instance, in pixels
      targetHeight - the desired height of the scaled instance, in pixels
      Returns:
      a scaled version of the original BufferedImage
    • getScaledInstance

      public static IIOImage getScaledInstance(IIOImage iioSource, float scale)
      Convenience method that returns a scaled instance of the provided IIOImage.
      Parameters:
      iioSource - the original image to be scaled
      scale - the desired scale
      Returns:
      a scaled version of the original IIOImage
    • getSubImage

      public static BufferedImage getSubImage(BufferedImage image, int x, int y, int width, int height)
      A replacement for the standard BufferedImage.getSubimage method.
      Parameters:
      image - the image to take the sub area from
      x - the X coordinate of the upper-left corner of the specified rectangular region
      y - the Y coordinate of the upper-left corner of the specified rectangular region
      width - the width of the specified rectangular region
      height - the height of the specified rectangular region
      Returns:
      a BufferedImage that is the subimage of image.
    • convertImageToBinary

      public static BufferedImage convertImageToBinary(BufferedImage image)
      A simple method to convert an image to binary or B/W image.
      Parameters:
      image - input image
      Returns:
      a monochrome image
    • convertImageToGrayscale

      public static BufferedImage convertImageToGrayscale(BufferedImage image)
      A simple method to convert an image to gray scale.
      Parameters:
      image - input image
      Returns:
      a monochrome image
    • invertImageColor

      public static BufferedImage invertImageColor(BufferedImage image)
      Inverts image color.
      Parameters:
      image - input image
      Returns:
      an inverted-color image
    • rotateImage

      public static BufferedImage rotateImage(BufferedImage image, double angle)
      Rotates an image.
      Parameters:
      image - the original image
      angle - the degree of rotation
      Returns:
      a rotated image
    • getClipboardImage

      public static Image getClipboardImage()
      Gets an image from Clipboard.
      Returns:
      image the image to process
    • cloneImage

      public static BufferedImage cloneImage(BufferedImage bi)
      Clones an image.
      Parameters:
      bi - the image to clone
      Returns:
      the cloned image
    • textToImage

      public static BufferedImage textToImage(String text)
      Creates an images with the given text printed inside
      Parameters:
      text - the text to print in the image
      Returns:
      The generated image
    • generateTransparentSinglePixelPng

      public static BufferedImage generateTransparentSinglePixelPng()
      Generates a PNG with a single transparent pixel
      Returns:
      the generated image
    • getImageBytes

      public static byte[] getImageBytes(BufferedImage image) throws IOException
      Write an image into an array of bytes
      Parameters:
      image - the image to read
      Returns:
      the image's bytes
      Throws:
      IOException - I/O error