コード例 #1
0
 /// <summary>
 /// Initializes a new instance of the <see cref = "ImageBuilder"/> class.
 /// </summary>
 /// <param name = "name" >
 /// The name.
 /// </param>
 /// <param name = "source" >
 /// The resource.
 /// </param>
 /// <param name = "size" >
 /// The size.
 /// </param>
 public ImageBuilder(string name, ImageSource source, ImageSizer size = ImageSizer.Medium)
 {
     SetName(name);
     SetImageSource(source);
     SetFileExtension(ImageName, Source);
     SetImageFormat(FileExtension);
     SetImageFilePath(ImageName, Source);
     SetImageFormat(FileExtension);
     SetImageSize(ImageSizer.Medium);
 }
コード例 #2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="BudgetImage"/> class.
 /// </summary>
 /// <param name="name">The name.</param>
 /// <param name="resource">The resource.</param>
 /// <param name="size">The size.</param>
 public BudgetImage(string name, ImageSource resource, ImageSizer size = ImageSizer.Medium)
 {
     SetName(name);
     SetImageSize(size);
     SetImageSource(resource);
     Builder = new ImageBuilder(name, resource, size);
     SetImageFormat(Builder.GetFormat());
     Factory = new ImageFactory(Builder);
     Image   = Factory.CreateImage();
 }
コード例 #3
0
        public override string GetHtml()
        {
            if (this.ContentPage == null)
            {
                this.ContentPage = SiteData.GetCurrentPage();
            }

            this.ImgSrc = this.ContentPage.Thumbnail;
            this.Title  = this.ContentPage.NavMenuText;

            if (String.IsNullOrEmpty(this.ImgSrc))
            {
                // if page itself has no image, see if the image had been specified directly
                this.ImgSrc = this.ImageUrl;
            }

            if (!String.IsNullOrEmpty(this.ImgSrc))
            {
                if (this.PerformURLResize)
                {
                    ImageSizer imgSzr = new ImageSizer();
                    imgSzr.ImageUrl   = this.ImgSrc;
                    imgSzr.ThumbSize  = this.ThumbSize;
                    imgSzr.ScaleImage = this.ScaleImage;

                    this.ImgSrc = imgSzr.ImageThumbUrl;
                }
            }
            else
            {
                this.ImgSrc = String.Empty;
            }

            if (!String.IsNullOrEmpty(this.ImgSrc))
            {
                var imgBuilder = new TagBuilder("img");
                imgBuilder.MergeAttribute("src", this.ImgSrc);

                if (!String.IsNullOrEmpty(this.Title))
                {
                    imgBuilder.MergeAttribute("alt", this.Title);
                    imgBuilder.MergeAttribute("title", this.Title);
                }

                var imgAttribs = (IDictionary <string, object>)HtmlHelper.AnonymousObjectToHtmlAttributes(imageAttributes);
                imgBuilder.MergeAttributes(imgAttribs);

                return(imgBuilder.ToString(TagRenderMode.SelfClosing));
            }
            else
            {
                return(String.Empty);
            }
        }
コード例 #4
0
 /// <summary>
 /// Sets the size of the image.
 /// </summary>
 /// <param name="sizer">The sizer.</param>
 public void SetImageSize(ImageSizer sizer)
 {
     try
     {
         ImageSize = Enum.IsDefined(typeof(ImageSizer), sizer)
             ? GetSize(sizer)
             : Size.Empty;
     }
     catch (Exception ex)
     {
         Fail(ex);
     }
 }
コード例 #5
0
 /// <summary>
 /// Sets the size.
 /// </summary>
 /// <returns>
 /// </returns>
 public static Size GetSize(ImageSizer size)
 {
     if (Verify.IsImageSize(size))
     {
         try
         {
             return(size switch
             {
                 ImageSizer.Small => SizeConfig.ImageSizeSmall,
                 ImageSizer.Medium => SizeConfig.ImageSizeIcon,
                 ImageSizer.Large => SizeConfig.ImageSizeMedium,
                 ImageSizer.Huge => SizeConfig.ImageSizeMedium,
                 _ => Size.Empty
             });
         }