public override void PaintValue(PaintValueEventArgs e) { var g = e.Graphics; Image img; if (e.Value == null || !EditorContext.SelectedWatchface.Images.TryGetValue(e.Value.ToString(), out img)) { //Draw X g.DrawLine(Pens.Black, e.Bounds.Left, e.Bounds.Top, e.Bounds.Left + e.Bounds.Width - 1, e.Bounds.Top + e.Bounds.Height - 1); g.DrawLine(Pens.Black, e.Bounds.Width - 1, e.Bounds.Top, e.Bounds.Left, e.Bounds.Top + e.Bounds.Height - 1); } else { var size = DrawingCalculations.GetZoomSize(img.Size, e.Bounds.Size); g.DrawImage(img, new Rectangle( e.Bounds.Width / 2 - size.Width / 2 + 1, e.Bounds.Height / 2 - size.Height / 2 + 1, size.Width, size.Height)); /*if (img.Width > img.Height) //wide * { * var newHeight = (int)(img.Height / img.Width * e.Bounds.Width); * g.DrawImage(img, new Rectangle(e.Bounds.Left, e.Bounds.Height / 2 - newHeight / 2 + 1, e.Bounds.Width, newHeight)); * } * else * { * var newWidth = (int)(img.Width / img.Height * e.Bounds.Height); * g.DrawImage(img, new Rectangle(e.Bounds.Width / 2 - newWidth / 2 + 1, e.Bounds.Top, newWidth, e.Bounds.Height)); * }*/ } }
private bool AddNewImage(string fileName) { var key = EditorContext.SelectedWatchface.AddImageFile(fileName); if (key == null) { return(false); } var tn = AddImageToTree(treeViewExplorer.TopNode.Nodes["images"], key, EditorContext.SelectedWatchface.Images[key]); var img = (Image)tn.Tag; var containedSize = DrawingCalculations.GetContainedSize(img.Size, new Size(320, 320)); //also add layer var newLayer = new FacerLayer { type = "image", x = "160", y = "160", r = "0", opacity = "100", low_power = true, alignment = (int)FacerImageAlignment.Center, width = containedSize.Width.ToString(), height = containedSize.Height.ToString(), hash = key, is_tinted = false, tint_color = null, }; EditorContext.SelectedWatchface.Layers.Add(newLayer); treeViewExplorer.SelectedNode = AddLayerToTree(treeViewExplorer.TopNode.Nodes["layers"], newLayer); UpdateChanged(); return(true); }