com.esri.arcgis.output
Class ExportJPEG

java.lang.Object
  extended by com.esri.arcgis.output.ExportJPEG
All Implemented Interfaces:
com.esri.arcgis.interop.RemoteObjRef, IExport, IExportImage, IExportJPEG, ISettingsInRegistry, IWorldFileSettings, IWorldFileSettings2, ISupportErrorInfo, Serializable

public class ExportJPEG
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, IExportImage, IExportJPEG, IExport, IWorldFileSettings, IWorldFileSettings2, ISettingsInRegistry, ISupportErrorInfo

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

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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

See Also:
Serialized Form

Constructor Summary
ExportJPEG()
          Constructs a ExportJPEG using ArcGIS Engine.
ExportJPEG(Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
ExportJPEG theExportJPEG = (ExportJPEG) obj;
 
Method Summary
 void cleanup()
          Cleanup should clean all temporary files, free used memory, etc...
 boolean equals(Object o)
          Compare this object with another
 void finishExporting()
          Shuts down the Exporter.
 IColor getBackgroundColor()
          The background color of the Image.
static String getClsid()
          getClsid.
 String getExportFileName()
          The Export File Name.
 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.
 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)
          interfaceSupportsErrorInfo
 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(String bstrRegPath)
          Restore object settings.
 void setBackgroundColor(IColor ppBackgroundColor)
          The background color of the Image.
 void setExportFileName(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(String bstrRegPath)
          Store object settings.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.esri.arcgis.interop.RemoteObjRef
getJintegraDispatch, release
 

Constructor Detail

ExportJPEG

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

Throws:
IOException - if there are interop problems
UnknownHostException - if there are interop problems

ExportJPEG

public ExportJPEG(Object obj)
           throws IOException
Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
ExportJPEG theExportJPEG = (ExportJPEG) obj;

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.

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

getClsid

public static String getClsid()
getClsid.


equals

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

Overrides:
equals in class Object

hashCode

public int hashCode()
the hashcode for this object

Overrides:
hashCode in class Object

setImageType

public void setImageType(int pimageType)
                  throws IOException,
                         AutomationException
Export Image Type.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getImageType

public int getImageType()
                 throws IOException,
                        AutomationException
Export Image Type.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setBackgroundColor

public void setBackgroundColor(IColor ppBackgroundColor)
                        throws IOException,
                               AutomationException
The background color of the Image.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getBackgroundColor

public IColor getBackgroundColor()
                          throws IOException,
                                 AutomationException
The background color of the Image.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setWidth

public void setWidth(int pWidth)
              throws IOException,
                     AutomationException
The width of the Image. If width is zero, screen width is used.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getWidth

public int getWidth()
             throws IOException,
                    AutomationException
The width of the Image. If width is zero, screen width is used.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setHeight

public void setHeight(int pHeight)
               throws IOException,
                      AutomationException
The height of the Image. If height is zero, screen height is used.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getHeight

public int getHeight()
              throws IOException,
                     AutomationException
The height of the Image. If height is zero, screen height is used.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setQuality

public void setQuality(short quality)
                throws IOException,
                       AutomationException
The JPEG compression / image quality. Range (0..100). Default is 100 (no compression / best quality).

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getQuality

public short getQuality()
                 throws IOException,
                        AutomationException
The JPEG compression / image quality. Range (0..100). Default is 100 (no compression / best quality).

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setProgressiveMode

public void setProgressiveMode(boolean bprogressive)
                        throws IOException,
                               AutomationException
The progressive JPEG export mode.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

isProgressiveMode

public boolean isProgressiveMode()
                          throws IOException,
                                 AutomationException
The progressive JPEG export mode.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getName

public String getName()
               throws IOException,
                      AutomationException
The Name of the Exporter.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getFilter

public String getFilter()
                 throws IOException,
                        AutomationException
Filter String used in the CFileDialog class.

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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getPriority

public int getPriority()
                throws IOException,
                       AutomationException
Exporter's priority - the order of appearance in the user interface.

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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setStepProgressorByRef

public void setStepProgressorByRef(IStepProgressor rhs1)
                            throws IOException,
                                   AutomationException
Export will update a Progress Bar if StepProgressor is not NULL.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setTrackCancelByRef

public void setTrackCancelByRef(ITrackCancel rhs1)
                         throws IOException,
                                AutomationException
Export will react on Cancel if TrackCancel is not NULL.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setPixelBounds

public void setPixelBounds(IEnvelope pixelBounds)
                    throws IOException,
                           AutomationException
The Export Bounds in Pixels (The Pixel Bounds of the Export surface).

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getPixelBounds

public IEnvelope getPixelBounds()
                         throws IOException,
                                AutomationException
The Export Bounds in Pixels (The Pixel Bounds of the Export surface).

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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setExportFileName

public void setExportFileName(String fileName)
                       throws IOException,
                              AutomationException
The Export File Name.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getExportFileName

public String getExportFileName()
                         throws IOException,
                                AutomationException
The Export File Name.

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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setResolution

public void setResolution(double res)
                   throws IOException,
                          AutomationException
The Export Resolution.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getResolution

public double getResolution()
                     throws IOException,
                            AutomationException
The Export Resolution.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

startExporting

public int startExporting()
                   throws IOException,
                          AutomationException
Initializes the Exporter.

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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

finishExporting

public void finishExporting()
                     throws IOException,
                            AutomationException
Shuts down the Exporter.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

cleanup

public void cleanup()
             throws IOException,
                    AutomationException
Cleanup should clean all temporary files, free used memory, etc...

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setMapExtent

public void setMapExtent(IEnvelope mapExtent)
                  throws IOException,
                         AutomationException
The Map Extent.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getMapExtent

public IEnvelope getMapExtent()
                       throws IOException,
                              AutomationException
The Map Extent.

Remarks

The MapExtent property holds the envelope that will be used during creation of a world file or writing of a GeoTIFF header. Get the map extent envelope from the Extent property IActiveView on a Map object.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setOutputWorldFile

public void setOutputWorldFile(boolean outputWorldFile)
                        throws IOException,
                               AutomationException
Indicates if a World File will be created.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

isOutputWorldFile

public boolean isOutputWorldFile()
                          throws IOException,
                                 AutomationException
Indicates if a World File will be created.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setMapRotation

public void setMapRotation(double mapRotAngle)
                    throws IOException,
                           AutomationException
The Map rotation angle in degrees.

Product Availability

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

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

getMapRotation

public double getMapRotation()
                      throws IOException,
                             AutomationException
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.

Product Availability

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

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

restoreForCurrentUser

public void restoreForCurrentUser(String bstrRegPath)
                           throws IOException,
                                  AutomationException
Restore object settings.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

storeForCurrentUser

public void storeForCurrentUser(String bstrRegPath)
                         throws IOException,
                                AutomationException
Store object settings.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

restoreDefault

public void restoreDefault()
                    throws IOException,
                           AutomationException
Restore the default object settings.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

interfaceSupportsErrorInfo

public void interfaceSupportsErrorInfo(GUID riid)
                                throws IOException,
                                       AutomationException
interfaceSupportsErrorInfo

Description

Indicates whether the interface supports IErrorInfo.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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