public void SaveImageMap(SkinElement element) { SkinArtImage artBgMap = null; if (element.ColorPositions.Count == 0) return; switch (element.GetType().Name) { case "SkinWindow": artBgMap = ((SkinWindow) element).Art.Images.FirstOrDefault(t => t.Type == "MapImage"); break; } if (artBgMap == null) return; var imageMap = (BitmapImage) Core.GetImageSourceFromFileName(GetFullPath(artBgMap.Path)); var bmp = Core.BitmapImage2Bitmap(imageMap); bmp = new Bitmap(bmp.Width, bmp.Height); using (var g = Graphics.FromImage(bmp)) { g.Clear(Color.FromArgb(255, 1, 1, 1)); foreach (var pos in element.ColorPositions) { g.FillRectangle( new SolidBrush(pos.MapColor), (int) pos.X, (int) pos.Y, (int) pos.Width, (int) pos.Height ); } } bmp.Save(GetFullPath(artBgMap.Path), ImageFormat.Png); }
public void DrawElement(SkinElement element) { switch (element.GetType().Name) { case "SkinWindow": RedrawWindow((SkinWindow) element); break; case "SkinButton": RedrawButton((SkinButton) element); break; case "SkinComboBox": RedrawComboBox((SkinComboBox) element); break; case "SkinSlider": RedrawSlider((SkinSlider) element); break; } }