Esempio n. 1
0
        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);
        }
Esempio n. 2
0
 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;
     }
 }