Package com.idrsolutions.image.emf
Class EmfDecoder
java.lang.Object
com.idrsolutions.image.JDeliImage
com.idrsolutions.image.emf.EmfDecoder
- All Implemented Interfaces:
com.idrsolutions.image.Decoder
public class EmfDecoder
extends com.idrsolutions.image.JDeliImage
implements com.idrsolutions.image.Decoder
Class reads EMF images as BufferedImage
Make NO assumptions about the BufferedImage type returned as this may change
Example 1 (Using raw byte data):
EmfDecoder decoder = new EmfDecoder();
BufferedImage decodedImage = decoder.read(emfBytes);
Example 2 (Using a File):
File enfFile = new File("C:\\path\\to\\file\\image.emf");
EmfDecoder decoder = new EmfDecoder();
BufferedImage decodedImage = decoder.read(emfFile);
-
Field Summary
Fields inherited from class com.idrsolutions.image.JDeliImage
bb -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic StringgetCommand(int command) Returns the lower case name of an EMF record type, for debugging and logging.booleanisReadable(byte[] emfRawData) Checks whether the emf image data can be decoded, by validating its structure without decoding the pixelsbooleanisReadable(File imageFile) Checks whether the emf image file can be decoded, by validating its structure without decoding the pixelsread(byte[] data) Decodes and returns the WMF image as a BufferedImage from bytesDecodes and returns the WMF file as a BufferedImage from a filereadDimension(byte[] emfRawData) Decodes and returns the width and height of emf imagereadDimension(File file) Decodes and returns the width and height of emf imagestatic voidConverts an EMF file to SVG and writes it to a file.static voidtoSVG(InputStream emfInputStream, OutputStream svgOutputFile) Converts EMF data from a stream to SVG and writes it to a stream.Methods inherited from class com.idrsolutions.image.JDeliImage
optimiseImageMethods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.idrsolutions.image.Decoder
getImageCount, getImageCount, readEmbeddedThumbnail, readEmbeddedThumbnail, readImageAt, readImageAt, readImageSpecificMetaData, readImageSpecificMetaData, setMetadata
-
Constructor Details
-
EmfDecoder
public EmfDecoder()
-
-
Method Details
-
getCommand
Returns the lower case name of an EMF record type, for debugging and logging.- Parameters:
command- EMF record type value- Returns:
- record name, such as "polygon", or "unknown type " followed by the value in hex if the type is not recognised
-
read
Decodes and returns the WMF file as a BufferedImage from a file- Specified by:
readin interfacecom.idrsolutions.image.Decoder- Parameters:
file- input image file to be decoded- Returns:
- BufferedImage decoded image
- Throws:
IOException- if an error occurs in reading image
-
read
Decodes and returns the WMF image as a BufferedImage from bytes- Specified by:
readin interfacecom.idrsolutions.image.Decoder- Parameters:
data- byte[] containing the WMF data to be decoded- Returns:
- BufferedImage The decoded image
- Throws:
IOException- if an error occurs in reading image
-
readDimension
Decodes and returns the width and height of emf image- Specified by:
readDimensionin interfacecom.idrsolutions.image.Decoder- Parameters:
file- image image contained in raw data if present- Returns:
- width and height of image
- Throws:
Exception- if problem reading image
-
readDimension
Decodes and returns the width and height of emf image- Specified by:
readDimensionin interfacecom.idrsolutions.image.Decoder- Parameters:
emfRawData- image image contained in raw data if present- Returns:
- Rectangle width and height of image
- Throws:
Exception- if problem reading image
-
isReadable
Checks whether the emf image data can be decoded, by validating its structure without decoding the pixels- Specified by:
isReadablein interfacecom.idrsolutions.image.Decoder- Parameters:
emfRawData- emf image data- Returns:
- true if the image can be decoded
- Throws:
Exception- if problem reading image
-
isReadable
Checks whether the emf image file can be decoded, by validating its structure without decoding the pixels- Specified by:
isReadablein interfacecom.idrsolutions.image.Decoder- Parameters:
imageFile- emf image file- Returns:
- true if the image can be decoded
- Throws:
Exception- if problem reading image
-
toSVG
Converts an EMF file to SVG and writes it to a file.- Parameters:
emfFile- EMF file to convertsvgOutputFile- file to write the SVG to- Throws:
IOException- if the EMF file cannot be read or the SVG cannot be written
-
toSVG
Converts EMF data from a stream to SVG and writes it to a stream. The data is copied to a temporary file, which is deleted afterwards. Both streams are closed by this method.- Parameters:
emfInputStream- stream containing the EMF datasvgOutputFile- stream to write the SVG to- Throws:
IOException- if the EMF data cannot be read or the SVG cannot be written
-