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]); } }
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); }
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; }