private static VObject CreateImageVObject(PsdFrame frame) { if (frame.Width == 0 || frame.Height == 0) { return(null); } var rect = new RectangleF( Common.ConvertPixelsToPoints(frame.DpiX, frame.X), Common.ConvertPixelsToPoints(frame.DpiY, frame.Y), Common.ConvertPixelsToPoints(frame.DpiX, frame.Width), Common.ConvertPixelsToPoints(frame.DpiY, frame.Height)); var imageVObject = new ImageVObject { Opacity = frame.Opacity }; imageVObject.ChangeControlPoints(rect.Left, rect.Top, rect.Right, rect.Bottom); return(imageVObject); }
public static VObject CreateVObject( PsdFrame frame, bool skipGroupPrefix = false, Regex markersRegex = null, bool forceRichText = false, bool getRichTextForBoundedTextOnly = false) { if (frame == null) { throw new ArgumentNullException("frame"); } VObject vObject = null; switch (frame.Type) { case FrameType.Group: break; case FrameType.Text: vObject = CreateTextVObject((PsdTextFrame)frame, forceRichText, getRichTextForBoundedTextOnly); break; case FrameType.Shape: vObject = CreateShapeVObject((PsdShapeFrame)frame); break; default: vObject = CreateImageVObject(frame); break; } if (vObject != null) { vObject.Name = GetVObjectName(frame, skipGroupPrefix, markersRegex); } return(vObject); }
public static string GetVObjectName(PsdFrame frame, bool skipGroupPrefix, Regex markersRegex) { var prefix = ""; if (!skipGroupPrefix && frame.Parent != null) { var parts = new Stack <string>(); var parent = frame.Parent; while (parent != null && parent.Name != null) { parts.Push(parent.Name); parent = parent.Parent; } prefix = string.Join("/", parts.ToArray()) + "/"; } var frameName = frame.Name ?? ""; var name = markersRegex != null?markersRegex.Replace(frameName, "") : frameName; return(prefix + name.Trim()); }