//
        // GenerateImage
        //
        // Will generate the bitmap representing this text item
        //
        public Bitmap GenerateImage(string fileName, SlideShowImageSize imageSize, string templateDirectory)
        {
            int width  = SlideShow.slideShowImageWidths[(int)imageSize];
            int height = SlideShow.slideShowImageHeights[(int)imageSize];

            CompiledTextFeed compiledTextFeed = CompiledTextFeed.GetCompiledTextFeed(compiledTextFeedHash, compiledTextFeedGuid);

            XmlDocument xmlDoc = new XmlDocument();

            xmlDoc.AppendChild(xmlDoc.CreateElement("textfeeditem"));
            ImageUtil.AddXmlElement(xmlDoc.DocumentElement, "channeltitle", compiledTextFeed.Title);
            if (!String.IsNullOrEmpty(compiledTextFeed.LogoImageUrl))
            {
                ImageUtil.AddXmlElement(xmlDoc.DocumentElement, "logoimg", compiledTextFeed.LogoImageUrl);
            }
            if (!String.IsNullOrEmpty(this.title))
            {
                ImageUtil.AddXmlElement(xmlDoc.DocumentElement, "itemtitle", this.title);
            }
            if (!String.IsNullOrEmpty(this.description))
            {
                ImageUtil.AddXmlElement(xmlDoc.DocumentElement, "itemdesc", this.description);
            }
            if (compiledTextFeed.RenderAd)
            {
                ImageUtil.AddXmlElement(xmlDoc.DocumentElement, "adurl", Config.GetSetting("AdUrl"));
            }
            ImageUtil.AddXmlElement(xmlDoc.DocumentElement, "width", width.ToString());
            ImageUtil.AddXmlElement(xmlDoc.DocumentElement, "height", height.ToString());
            Bitmap bitmap = WebPageBitmap.LoadXsl(templateDirectory + "textfeeditem.xsl", xmlDoc, width, height);

            ImageUtil.SaveJpeg(fileName, bitmap, 100);

            return(bitmap);
        }