com.esri.arcgis.output
Class ExportJPEG

java.lang.Object
  extended bycom.esri.arcgis.output.ExportJPEG
All Implemented Interfaces:
IExport, IExportImage, IExportJPEG, ISettingsInRegistry, ISupportErrorInfo, IWorldFileSettings, IWorldFileSettings2, java.io.Serializable

public class ExportJPEG
extends java.lang.Object
implements IExportImage, IExportJPEG, IExport, IWorldFileSettings, IWorldFileSettings2, ISettingsInRegistry, ISupportErrorInfo

Class used to export maps to JPEG (Joint Photographic Experts Group) format.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Remarks

Use the ExportJPEG CoClass to export your map to JPEG (Joint Photographic Experts Group) format.  JPEG files are compressed image files. They support 24-bit color and are a good choice for use on the Web, because they provide control over output quality and size and can be more compact than many other file types.

The JPEG format uses "lossy" compression, meaning many pixel values will be discarded upon compression.  Repeated editing and saving of a file stored with lossy compression can greatly degrade legibility of the stored image.  When exporting maps to a format with lossy compression, be certain that small elements (map labels, point symbols, etc.) remain legible at the selected resolution and compression level.

See Also:
Serialized Form

Constructor Summary
ExportJPEG()
          Constructs a ExportJPEG using ArcGIS Engine.
ExportJPEG(java.lang.Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
 
Method Summary
 void cleanup()
          Cleanup should clean all temporary files, free used memory, etc...
 boolean equals(java.lang.Object o)
          Compare this object with another
 void finishExporting()
          Shuts down the Exporter.
 IExport getAsIExport()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 IExportImage getAsIExportImage()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 IExportJPEG getAsIExportJPEG()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 ISettingsInRegistry getAsISettingsInRegistry()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 ISupportErrorInfo getAsISupportErrorInfo()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 IWorldFileSettings getAsIWorldFileSettings()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 IWorldFileSettings2 getAsIWorldFileSettings2()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 IColor getBackgroundColor()
          The background color of the Image.
static java.lang.String getClsid()
           
 java.lang.String getExportFileName()
          The Export File Name.
 java.lang.String getFilter()
          Filter String used in the CFileDialog class.
 int getHeight()
          The height of the Image.
 int getImageType()
          Export Image Type.
 IEnvelope getMapExtent()
          The Map Extent.
 double getMapRotation()
          The Map rotation angle in degrees.
 java.lang.String getName()
          The Name of the Exporter.
 IEnvelope getPixelBounds()
          The Export Bounds in Pixels (The Pixel Bounds of the Export surface).
 int getPriority()
          Exporter's priority - the order of appearance in the user interface.
 short getQuality()
          The JPEG compression / image quality.
 double getResolution()
          The Export Resolution.
 int getWidth()
          The width of the Image.
 int hashCode()
          the hashcode for this object
 void interfaceSupportsErrorInfo(GUID riid)
          Supported Platforms
 boolean isOutputWorldFile()
          Indicates if a World File will be created.
 boolean isProgressiveMode()
          The progressive JPEG export mode.
 void restoreDefault()
          Restore the default object settings.
 void restoreForCurrentUser(java.lang.String bstrRegPath)
          Restore object settings.
 void setBackgroundColor(IColor ppBackgroundColor)
          The background color of the Image.
 void setExportFileName(java.lang.String fileName)
          The Export File Name.
 void setHeight(int pHeight)
          The height of the Image.
 void setImageType(int pimageType)
          Export Image Type.
 void setMapExtent(IEnvelope mapExtent)
          The Map Extent.
 void setMapRotation(double mapRotAngle)
          The Map rotation angle in degrees.
 void setOutputWorldFile(boolean outputWorldFile)
          Indicates if a World File will be created.
 void setPixelBounds(IEnvelope pixelBounds)
          The Export Bounds in Pixels (The Pixel Bounds of the Export surface).
 void setProgressiveMode(boolean bprogressive)
          The progressive JPEG export mode.
 void setQuality(short quality)
          The JPEG compression / image quality.
 void setResolution(double res)
          The Export Resolution.
 void setStepProgressorByRef(IStepProgressor rhs1)
          Export will update a Progress Bar if StepProgressor is not NULL.
 void setTrackCancelByRef(ITrackCancel rhs1)
          Export will react on Cancel if TrackCancel is not NULL.
 void setWidth(int pWidth)
          The width of the Image.
 int startExporting()
          Initializes the Exporter.
 void storeForCurrentUser(java.lang.String bstrRegPath)
          Store object settings.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ExportJPEG

public ExportJPEG()
           throws java.io.IOException,
                  java.net.UnknownHostException
Constructs a ExportJPEG using ArcGIS Engine.

Throws:
java.io.IOException - if there are interop problems
java.net.UnknownHostException - if there are interop problems

ExportJPEG

public ExportJPEG(java.lang.Object obj)
           throws java.io.IOException
Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.

Construct a ExportJPEG using a reference to such an object returned from ArcGIS Engine or Server. This is semantically equivalent to casting obj to ExportJPEG.
ExportJPEG theExportJPEG = (ExportJPEG) obj;

Parameters:
obj - an object returned from ArcGIS Engine or Server
Throws:
java.io.IOException - if there are interop problems
Method Detail

getClsid

public static java.lang.String getClsid()

getAsIExportImage

public IExportImage getAsIExportImage()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsIExportJPEG

public IExportJPEG getAsIExportJPEG()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsIExport

public IExport getAsIExport()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsIWorldFileSettings

public IWorldFileSettings getAsIWorldFileSettings()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsIWorldFileSettings2

public IWorldFileSettings2 getAsIWorldFileSettings2()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsISettingsInRegistry

public ISettingsInRegistry getAsISettingsInRegistry()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsISupportErrorInfo

public ISupportErrorInfo getAsISupportErrorInfo()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


equals

public boolean equals(java.lang.Object o)
Compare this object with another


hashCode

public int hashCode()
the hashcode for this object


setImageType

public void setImageType(int pimageType)
                  throws java.io.IOException,
                         AutomationException
Description copied from interface: IExportImage
Export Image Type.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setImageType in interface IExportImage
Parameters:
pimageType - A com.esri.arcgis.output.esriExportImageType constant (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

getImageType

public int getImageType()
                 throws java.io.IOException,
                        AutomationException
Description copied from interface: IExportImage
Export Image Type.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getImageType in interface IExportImage
Returns:
A com.esri.arcgis.output.esriExportImageType constant
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

setBackgroundColor

public void setBackgroundColor(IColor ppBackgroundColor)
                        throws java.io.IOException,
                               AutomationException
Description copied from interface: IExportImage
The background color of the Image.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setBackgroundColor in interface IExportImage
Parameters:
ppBackgroundColor - A reference to a com.esri.arcgis.display.IColor (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

getBackgroundColor

public IColor getBackgroundColor()
                          throws java.io.IOException,
                                 AutomationException
Description copied from interface: IExportImage
The background color of the Image.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getBackgroundColor in interface IExportImage
Returns:
A reference to a com.esri.arcgis.display.IColor
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

setWidth

public void setWidth(int pWidth)
              throws java.io.IOException,
                     AutomationException
Description copied from interface: IExportImage
The width of the Image. If width is zero, screen width is used.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setWidth in interface IExportImage
Parameters:
pWidth - The pWidth (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getWidth

public int getWidth()
             throws java.io.IOException,
                    AutomationException
Description copied from interface: IExportImage
The width of the Image. If width is zero, screen width is used.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getWidth in interface IExportImage
Returns:
The pWidth
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

setHeight

public void setHeight(int pHeight)
               throws java.io.IOException,
                      AutomationException
Description copied from interface: IExportImage
The height of the Image. If height is zero, screen height is used.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setHeight in interface IExportImage
Parameters:
pHeight - The pHeight (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

getHeight

public int getHeight()
              throws java.io.IOException,
                     AutomationException
Description copied from interface: IExportImage
The height of the Image. If height is zero, screen height is used.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getHeight in interface IExportImage
Returns:
The pHeight
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

setQuality

public void setQuality(short quality)
                throws java.io.IOException,
                       AutomationException
Description copied from interface: IExportJPEG
The JPEG compression / image quality. Range (0..100). Default is 100 (no compression / best quality).

Supported Platforms

Windows, Solaris, Linux

Specified by:
setQuality in interface IExportJPEG
Parameters:
quality - The quality (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getQuality

public short getQuality()
                 throws java.io.IOException,
                        AutomationException
Description copied from interface: IExportJPEG
The JPEG compression / image quality. Range (0..100). Default is 100 (no compression / best quality).

Supported Platforms

Windows, Solaris, Linux

Specified by:
getQuality in interface IExportJPEG
Returns:
The quality
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

setProgressiveMode

public void setProgressiveMode(boolean bprogressive)
                        throws java.io.IOException,
                               AutomationException
Description copied from interface: IExportJPEG
The progressive JPEG export mode.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setProgressiveMode in interface IExportJPEG
Parameters:
bprogressive - The bprogressive (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

isProgressiveMode

public boolean isProgressiveMode()
                          throws java.io.IOException,
                                 AutomationException
Description copied from interface: IExportJPEG
The progressive JPEG export mode.

Supported Platforms

Windows, Solaris, Linux

Specified by:
isProgressiveMode in interface IExportJPEG
Returns:
The bprogressive
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

getName

public java.lang.String getName()
                         throws java.io.IOException,
                                AutomationException
Description copied from interface: IExport
The Name of the Exporter.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getName in interface IExport
Returns:
The name
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getFilter

public java.lang.String getFilter()
                           throws java.io.IOException,
                                  AutomationException
Description copied from interface: IExport
Filter String used in the CFileDialog class.

Supported Platforms

Windows, Solaris, Linux

Remarks

This method is primarily used for defining the extension of the export file name within the Export Map dialog.  The string contained in this value is a null-terminated pattern string that follows the standard for a Windows Open and Save As dialog filter.  The value of this property can change according to the state of the export object.  An ExportSVG object, for example, returns "SVG (*.svg)|*.svg" when its compression property is False, and "Compressed SVG (*.svgz)|*.svgz" when the compression property is True.  This makes the Filter ideal for automatically assigning the appropriate file name extension for an export file.

 

Specified by:
getFilter in interface IExport
Returns:
The filter
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

getPriority

public int getPriority()
                throws java.io.IOException,
                       AutomationException
Description copied from interface: IExport
Exporter's priority - the order of appearance in the user interface.

Supported Platforms

Windows, Solaris, Linux

Remarks

Primarily used by export dialogs for ordering the appearance of export formats in the 'Save As...' pulldown list.  By ordering through this property, the export dialog can group similar formats together.  For example, all raster export formats are grouped together in the 'Save As...' list.

Specified by:
getPriority in interface IExport
Returns:
The pPriority
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setStepProgressorByRef

public void setStepProgressorByRef(IStepProgressor rhs1)
                            throws java.io.IOException,
                                   AutomationException
Description copied from interface: IExport
Export will update a Progress Bar if StepProgressor is not NULL.

Specified by:
setStepProgressorByRef in interface IExport
Parameters:
rhs1 - A reference to a com.esri.arcgis.system.IStepProgressor (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

setTrackCancelByRef

public void setTrackCancelByRef(ITrackCancel rhs1)
                         throws java.io.IOException,
                                AutomationException
Description copied from interface: IExport
Export will react on Cancel if TrackCancel is not NULL.

Specified by:
setTrackCancelByRef in interface IExport
Parameters:
rhs1 - A reference to a com.esri.arcgis.system.ITrackCancel (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setPixelBounds

public void setPixelBounds(IEnvelope pixelBounds)
                    throws java.io.IOException,
                           AutomationException
Description copied from interface: IExport
The Export Bounds in Pixels (The Pixel Bounds of the Export surface).

Supported Platforms

Windows, Solaris, Linux

Specified by:
setPixelBounds in interface IExport
Parameters:
pixelBounds - A reference to a com.esri.arcgis.geometry.IEnvelope (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

getPixelBounds

public IEnvelope getPixelBounds()
                         throws java.io.IOException,
                                AutomationException
Description copied from interface: IExport
The Export Bounds in Pixels (The Pixel Bounds of the Export surface).

Supported Platforms

Windows, Solaris, Linux

Remarks


The PixelBounds represents the height and width of the export image in device units (usually pixels for a export file).  To set up values to use in this property, get the height and width of the image draw to screen.  Then multiply each dimension by the ratio of the output resolution to screen resolution.

 

Specified by:
getPixelBounds in interface IExport
Returns:
A reference to a com.esri.arcgis.geometry.IEnvelope
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setExportFileName

public void setExportFileName(java.lang.String fileName)
                       throws java.io.IOException,
                              AutomationException
Description copied from interface: IExport
The Export File Name.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setExportFileName in interface IExport
Parameters:
fileName - The fileName (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

getExportFileName

public java.lang.String getExportFileName()
                                   throws java.io.IOException,
                                          AutomationException
Description copied from interface: IExport
The Export File Name.

Supported Platforms

Windows, Solaris, Linux

Remarks

You must assign a value to the ExportFileName property before calling the IExport::StartExporting() method.  There are two exceptions to this.  If IExport is controlling a ExportBMP or ExportEMF object, you can assign an empty string to the ExportFileName property without an error being raised on StartExporting().  This is to allow cases where the application will use the export object as a intermediate container for a drawing, and won't be written to an export file.

Specified by:
getExportFileName in interface IExport
Returns:
The fileName
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

setResolution

public void setResolution(double res)
                   throws java.io.IOException,
                          AutomationException
Description copied from interface: IExport
The Export Resolution.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setResolution in interface IExport
Parameters:
res - The res (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getResolution

public double getResolution()
                     throws java.io.IOException,
                            AutomationException
Description copied from interface: IExport
The Export Resolution.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getResolution in interface IExport
Returns:
The res
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

startExporting

public int startExporting()
                   throws java.io.IOException,
                          AutomationException
Description copied from interface: IExport
Initializes the Exporter.

Supported Platforms

Windows, Solaris, Linux

Remarks

The StartExporting method causes the export object to allocate memory for the export based on resolution, bit depth, and pixel bounds.  The method returns a long that represents the hDC (Windows GDI Device Context handle) of the export object.  After this method is called, the export object is ready to receive GDI draw instructions directed to its hDC.

Specified by:
startExporting in interface IExport
Returns:
The hDC (A COM typedef)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

finishExporting

public void finishExporting()
                     throws java.io.IOException,
                            AutomationException
Description copied from interface: IExport
Shuts down the Exporter.

Supported Platforms

Windows, Solaris, Linux

Specified by:
finishExporting in interface IExport
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

cleanup

public void cleanup()
             throws java.io.IOException,
                    AutomationException
Description copied from interface: IExport
Cleanup should clean all temporary files, free used memory, etc...

Supported Platforms

Windows, Solaris, Linux

Specified by:
cleanup in interface IExport
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

setMapExtent

public void setMapExtent(IEnvelope mapExtent)
                  throws java.io.IOException,
                         AutomationException
Description copied from interface: IWorldFileSettings
The Map Extent.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setMapExtent in interface IWorldFileSettings
Parameters:
mapExtent - A reference to a com.esri.arcgis.geometry.IEnvelope (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMapExtent

public IEnvelope getMapExtent()
                       throws java.io.IOException,
                              AutomationException
Description copied from interface: IWorldFileSettings
The Map Extent.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getMapExtent in interface IWorldFileSettings
Returns:
A reference to a com.esri.arcgis.geometry.IEnvelope
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setOutputWorldFile

public void setOutputWorldFile(boolean outputWorldFile)
                        throws java.io.IOException,
                               AutomationException
Description copied from interface: IWorldFileSettings
Indicates if a World File will be created.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setOutputWorldFile in interface IWorldFileSettings
Parameters:
outputWorldFile - The outputWorldFile (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

isOutputWorldFile

public boolean isOutputWorldFile()
                          throws java.io.IOException,
                                 AutomationException
Description copied from interface: IWorldFileSettings
Indicates if a World File will be created.

Supported Platforms

Windows, Solaris, Linux

Specified by:
isOutputWorldFile in interface IWorldFileSettings
Returns:
The outputWorldFile
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setMapRotation

public void setMapRotation(double mapRotAngle)
                    throws java.io.IOException,
                           AutomationException
Description copied from interface: IWorldFileSettings2
The Map rotation angle in degrees.

Specified by:
setMapRotation in interface IWorldFileSettings2
Parameters:
mapRotAngle - The mapRotAngle (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMapRotation

public double getMapRotation()
                      throws java.io.IOException,
                             AutomationException
Description copied from interface: IWorldFileSettings2
The Map rotation angle in degrees.

Remarks

When the map is part of a rotated dataframe, assign the dataframe rotation angle (in degrees) to this property.  This will ensure that the world file or GeoTIFF header appropriately accounts for rotation of the image.  The rotation angle of a map can be read from IDisplayTransformation::Rotation. The display transformation of the active view can be accessed via IActiveView::ScreenDisplay.

Specified by:
getMapRotation in interface IWorldFileSettings2
Returns:
The mapRotAngle
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

restoreForCurrentUser

public void restoreForCurrentUser(java.lang.String bstrRegPath)
                           throws java.io.IOException,
                                  AutomationException
Description copied from interface: ISettingsInRegistry
Restore object settings.

Supported Platforms

Windows, Solaris, Linux

Specified by:
restoreForCurrentUser in interface ISettingsInRegistry
Parameters:
bstrRegPath - The bstrRegPath (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

storeForCurrentUser

public void storeForCurrentUser(java.lang.String bstrRegPath)
                         throws java.io.IOException,
                                AutomationException
Description copied from interface: ISettingsInRegistry
Store object settings.

Supported Platforms

Windows, Solaris, Linux

Specified by:
storeForCurrentUser in interface ISettingsInRegistry
Parameters:
bstrRegPath - The bstrRegPath (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

restoreDefault

public void restoreDefault()
                    throws java.io.IOException,
                           AutomationException
Description copied from interface: ISettingsInRegistry
Restore the default object settings.

Supported Platforms

Windows, Solaris, Linux

Specified by:
restoreDefault in interface ISettingsInRegistry
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

interfaceSupportsErrorInfo

public void interfaceSupportsErrorInfo(GUID riid)
                                throws java.io.IOException,
                                       AutomationException
Description copied from interface: ISupportErrorInfo

Supported Platforms

Windows, Solaris, Linux

Description

Indicates whether the interface supports IErrorInfo.

Specified by:
interfaceSupportsErrorInfo in interface ISupportErrorInfo
Parameters:
riid - A Structure: com.esri.arcgis.support.ms.stdole.GUID (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.