/// <summary>
        /// Read image file
        /// </summary>
        /// <param name="aFile">File name</param>
        ///<returns>image layer</returns>
        public static ImageLayer ReadImageFile(string aFile)
        {
            string oEx = Path.GetExtension(aFile);
            string sEx = oEx.Remove(2, 1);

            sEx = sEx + "w";
            string     wFile       = aFile.Replace(oEx, sEx);
            Image      aImage      = new Bitmap(aFile);
            ImageLayer aImageLayer = new ImageLayer();

            aImageLayer.FileName      = aFile;
            aImageLayer.WorldFileName = wFile;
            aImageLayer.Image         = aImage;
            aImageLayer.LayerName     = Path.GetFileName(aFile);
            aImageLayer.Visible       = true;
            if (File.Exists(wFile))
            {
                aImageLayer.ReadImageWorldFile(wFile);
            }
            else
            {
                WorldFilePara aWFP = new WorldFilePara();
                aWFP.XUL     = 0;
                aWFP.YUL     = 90;
                aWFP.XScale  = 0.05;
                aWFP.YScale  = -0.05;
                aWFP.XRotate = 0;
                aWFP.YRotate = 0;
                aImageLayer.WorldFileParaV = aWFP;
                aImageLayer.WriteImageWorldFile(wFile, aImageLayer.WorldFileParaV);
            }

            double XBR, YBR;

            XBR = aImageLayer.Image.Width * aImageLayer.WorldFileParaV.XScale + aImageLayer.WorldFileParaV.XUL;
            YBR = aImageLayer.Image.Height * aImageLayer.WorldFileParaV.YScale + aImageLayer.WorldFileParaV.YUL;
            Extent aExtent = new Extent();

            aExtent.minX              = aImageLayer.WorldFileParaV.XUL;
            aExtent.minY              = YBR;
            aExtent.maxX              = XBR;
            aExtent.maxY              = aImageLayer.WorldFileParaV.YUL;
            aImageLayer.Extent        = aExtent;
            aImageLayer.LayerDrawType = LayerDrawType.Image;
            aImageLayer.IsMaskout     = true;

            return(aImageLayer);
        }