c# Raster to MrSID

0 голосов
спросил 19 Апр, 12 от vdk80 (280 баллов) в категории Программные продукты Esri
Здравствуйте!
Никак не могу перевести код vb на с#.
в коде хочу tif-файл перекодировать в формат *.sid
на vb все работает прекрасно!
был бы рад помощи, заранее спасибо!

        static void Main(string[] args)
        {
            //ESRI License Initializer generated code.
            m_AOLicenseInitializer.InitializeApplication(new esriLicenseProductCode[] { esriLicenseProductCode.esriLicenseProductCodeArcInfo },
            new esriLicenseExtensionCode[] { });
            int i = 0;
            IGxCatalog pGxCatalog = new GxCatalog();

            //args[0].ToString() = "c:\\scan\\img00001.tif"
            IGxObject pGxObj = (IGxObject)pGxCatalog.GetObjectFromFullName(args[0].ToString(), out i);

            IGxObjectArray pGxArr = new GxObjectArray();
            //IGxObjectArray pGxArray = (IGxObjectArray)pGxObj;
            pGxArr.Insert(-1, pGxObj);

            //IRasterWorkspace pWsr = OpenRasterWorkspace(args[1].ToString());
            //IRasterDataset rasterDataset = pWsr.OpenRasterDataset("img00001.tif");
            IWorkspace pWs;
            IWorkspaceFactory pWSF = new RasterWorkspaceFactory();
            //args[1].ToString() = "c:\\scan"
            pWs = pWSF.OpenFromFile(args[1].ToString(), 0);


            IRasterEncoder pSid = new SidEncoder();


            pSid.Datasets = (IGxObjectArray)pGxArr;
            //args[3] = 50
            pSid.EncodingRatio = (float)Convert.ToDouble(args[3]);
            //Int32[] pBandArray = new Int32[3];
            //long[] pBandArray = new long[3];
            int[] pBandArray = new int[3];
            //System.
            pBandArray[0] = 0;
            pBandArray[1] = 1;
            pBandArray[2] = 2;

            pSid.BandIndices = (object)pBandArray;
           if (pSid.CanEncode() == esriRasterCanEncodeResult.esriRasterCanEncodeResultCanBeEncoded)
            { pSid.Encode("qqq.sid", pWs); }
        }
    выдает такую ошибку
band index 154386672 not available in input dataset

Пожалуйста, войдите или зарегистрируйтесь для публикации ответа на этот вопрос.

...