Пример #1
0
        public void GetImageFolderName(string imageType)
        {
            string[] category = ImageResourceCache.DoLoad(imageType).GetAllResourceKeys();
            string[] parts;
            ListBoxCategoryName.Items.Clear();
            if (category == null)
            {
                return;
            }

            foreach (string item2 in category)
            {
                parts = Split(item2);
                ListBoxCategoryName.Items.Add(parts[1]);
            }
        }
Пример #2
0
        public string FromSvgRes(string ImageType, string Group, string NameUri)
        {
            string SvgNew2 = null;
            Stream tmg     = ImageResourceCache.DoLoad(ImageType).GetResource($"{ImageType}/{Group}");

            using (ResXResourceReader rsxr = new ResXResourceReader(tmg))
            {
                foreach (DictionaryEntry file in rsxr)
                {
                    if (NameUri == $"{file.Key}")
                    {
                        SvgNew2 = $"{file.Value}";
                        break;
                    }
                }
            }
            return(SvgNew2);
        }
Пример #3
0
        private void ListBoxCategoryName_SelectedIndexChanged(object sender, EventArgs e)
        {
            il32 = new ImageList
            {
                ColorDepth = ColorDepth.Depth32Bit,
                ImageSize  = new Size(50, 50)
            };
            ImageListCurrentImage.Clear();
            ImageListCurrentTip.Clear();
            string imageType;

            if (KR_SVG.Checked)
            {
                imageType = "svgimages";
            }
            else if (KR_Xaml.Checked)
            {
                imageType = "XamlImages";
            }
            else if (KR_WMF.Checked)
            {
                imageType = "WmfImages";
            }
            else if (KR_PNG.Checked)
            {
                imageType = "PngImages";
            }
            else
            {
                imageType = "svgimages";
            }
            ResXResourceReader rsxr = ImageResourceCache.Default(imageType).GetImages($"{imageType}/{ListBoxCategoryName.SelectedItem}");

            if (rsxr == null)
            {
                return;
            }

            string newName = string.Empty;
            int    i       = 0;

            foreach (DictionaryEntry file in rsxr)
            {
                Image bitmap;
                if (KR_SVG.Checked)
                {
                    newName     = Path.GetFileNameWithoutExtension($"{file.Key}");
                    svgDocument = SvgDocument.FromSvg <SvgDocument>($"{file.Value}");
                    SVGSample.svg.SVGParser.MaximumSize = new Size(Width, Height);
                    try
                    {
                        bitmap = svgDocument.Draw();
                    }
                    catch
                    {
                        continue;
                    }
                }
                else if (KR_Xaml.Checked)
                {
                    try
                    {
                        IMAGE_DPI = 96;
                        XmlTextReader xmlReader = new XmlTextReader(new StringReader($"{file.Value}"));
                        newName = $"{file.Key}";
                        object control = XamlReader.Load(xmlReader);
                        bitmap = SaveImage((System.Windows.Controls.Viewbox)control, "C://Test.png");
                    }
                    catch
                    {
                        continue;
                    }
                }
                else if (KR_WMF.Checked)
                {
                    try
                    {
                        byte[] returnImage = Convert.FromBase64String($"{file.Value}");
                        newName = $"{file.Key}";
                        MemoryStream ms = new MemoryStream(returnImage);
                        bitmap = new Metafile(ms);
                        Bitmap pic = new Bitmap(100, 100);
                        using (Graphics g = Graphics.FromImage(pic))
                        {
                            g.DrawImage(bitmap, new System.Drawing.Rectangle(0, 0, pic.Width, pic.Height)); //redraw smaller image
                        }
                        bitmap = pic;
                    }
                    catch
                    {
                        continue;
                    }
                }
                else if (KR_PNG.Checked)
                {
                    try
                    {
                        byte[] returnImage = Convert.FromBase64String($"{file.Value}");
                        newName = $"{file.Key}";
                        MemoryStream ms = new MemoryStream(returnImage);
                        bitmap = Image.FromStream(ms);
                    }
                    catch
                    {
                        continue;
                    }
                }
                else
                {
                    bitmap = Image.FromFile($"{file.Value}");
                }



                if (bitmap != null)
                {
                    ImageListCurrentTip.Add(i, string.Format("{0}.{1}.{2}", newName, bitmap.Height, bitmap.Width));

                    ImageListCurrentImage.Add(i++, bitmap);

                    il32.Images.Add($"{file.Key}", bitmap);
                }
                else
                {
                    continue;
                }
                Application.DoEvents();
            }

            //Close the reader.
            rsxr.Close();


            pnlPictures.ImageList = il32;
        }