I haven't found any way to specify the quality value for the geoprocessor, so I thought I'd try using ISaveAs to post-process the result that comes out of ProjectRaster. My test code produced 3 results as follows:IWorkspaceFactory wsfac = new RasterWorkspaceFactoryClass();
IWorkspace ws = wsfac.OpenFromFile(@"C:\Data", 0);
IRasterDataset rds = (ws as IRasterWorkspace).OpenRasterDataset("GpOutput.jp2");
IRasterStorageDef sd = new RasterStorageDefClass();
(rds as ISaveAs2).SaveAsRasterDataset("ResultNull.jp2", ws, "JP2", sd);
sd.CompressionType = esriRasterCompressionType.esriRasterCompressionJPEG2000;
sd.CompressionQuality = 50;
(rds as ISaveAs2).SaveAsRasterDataset("Result50.jp2", ws, "JP2", sd);
sd.CompressionQuality = 75;
(rds as ISaveAs2).SaveAsRasterDataset("Result75.jp2", ws, "JP2", sd);
And the results are all the same (and equal to the input). So it looks like SaveAsRasterDataset doesn't do anything with the supplied RasterStorageDef. Has anyone had success with this?