Exemplo n.º 1
0
        public CanvasData(CanvasSlim cv)
        {
            RgbCPId       = cv.RgbColorProfileFileId;
            CmykCPId      = cv.CmykColorProfileFileId;
            GrayscaleCPId = cv.GrayscaleColorProfileFileId;
            PreviewCM     = cv.PreviewColorManagementEnabled;
            PrintCM       = cv.PrintColorManagementEnabled;
            PTCS          = cv.PreviewTargetColorSpace;
            WW            = cv.WorkspaceWidth;
            WH            = cv.WorkspaceHeight;
            L             = new List <LayerData>();
            for (int i = 0; i < cv.Layers.Count; i++)
            {
                L.Add(new LayerData(cv.Layers[i]));
            }

            Z    = cv.Zoom;
            XDpi = cv.ScreenXDpi;
            YDpi = cv.ScreenYDpi;
            TDpi = cv.TargetDpi;
            MSE  = cv.MultipleSelectionEnabled;
            MMT  = cv.MouseMoveTimeout;
            DS   = cv.DisableSmoothing;
            Tags = cv.Tags;
        }
Exemplo n.º 2
0
        public void ApplyState(CanvasSlim cv)
        {
            cv.Layers.Clear();
            for (int i = 0; i < L.Count; i++)
            {
                Layer l = new Layer();
                L[i].ApplyState(l);
                cv.Layers.Add(l);
            }

            cv.RgbColorProfileFileId         = RgbCPId;
            cv.CmykColorProfileFileId        = CmykCPId;
            cv.GrayscaleColorProfileFileId   = GrayscaleCPId;
            cv.PrintColorManagementEnabled   = PrintCM;
            cv.PreviewColorManagementEnabled = PreviewCM;
            cv.PreviewTargetColorSpace       = PTCS;

            cv.WorkspaceHeight          = WH;
            cv.WorkspaceWidth           = WW;
            cv.MultipleSelectionEnabled = MSE;
            cv.MouseMoveTimeout         = MMT;
            cv.Zoom             = Z;
            cv.TargetDpi        = TDpi;
            cv.ScreenXDpi       = XDpi;
            cv.ScreenYDpi       = YDpi;
            cv.DisableSmoothing = DS;

            cv.Tags.Clear();

            foreach (var key in Tags.Keys)
            {
                cv.Tags[key] = Tags[key];
            }
        }
Exemplo n.º 3
0
        public string UpdateByColorData(string canvasData, string colorData)
        {
            using (var canvas = new CanvasSlim {
                Data = canvasData
            })
            {
                var serializer = new JsonVOSerializer(canvas.GetColorManagement(true));
                var color      = serializer.Deserialize <Color>(colorData);

                return(serializer.Serialize(color));
            }
        }
Exemplo n.º 4
0
        public string UpdateByPathBoundedTextVObjectData(string canvasData, string vObjectData)
        {
            var pathBoundedText = new PathBoundedTextVObject {
                Data = vObjectData
            };

            using (var canvas = new CanvasSlim {
                Data = canvasData
            })
            {
                UpdateTextVObject(pathBoundedText, canvas);
                return(pathBoundedText.Data);
            }
        }
Exemplo n.º 5
0
        public string UpdateByCurvedTextVObjectData(string canvasData, string vObjectData)
        {
            var curvedText = new CurvedTextVObject {
                Data = vObjectData
            };

            using (var canvas = new CanvasSlim {
                Data = canvasData
            })
            {
                UpdateTextVObject(curvedText, canvas);
                return(curvedText.Data);
            }
        }
Exemplo n.º 6
0
        public string UpdateByAutoScaledTextVObjectData(string canvasData, string vObjectData)
        {
            var autoScaledTextVObject = new AutoScaledTextVObject {
                Data = vObjectData
            };

            using (var canvas = new CanvasSlim {
                Data = canvasData
            })
            {
                UpdateTextVObject(autoScaledTextVObject, canvas);
                return(autoScaledTextVObject.Data);
            }
        }
Exemplo n.º 7
0
        public static ICanvas ParsePsd(PsdReader psdReader, bool skipGroupPrefix = false, ICanvas canvas = null)
        {
            if (psdReader == null)
            {
                throw new ArgumentNullException("psdReader");
            }

            if (canvas == null)
            {
                canvas = new CanvasSlim();
            }
            else
            {
                canvas.Layers.Clear();
            }

            canvas.WorkspaceWidth  = Common.ConvertPixelsToPoints(psdReader.DpiX, psdReader.Width);
            canvas.WorkspaceHeight = Common.ConvertPixelsToPoints(psdReader.DpiY, psdReader.Height);

            var layer = new Layer {
                Name = "psd"
            };

            foreach (var frame in psdReader.Frames.Reverse().Where(f => f != null))
            {
                var vObject = CreateVObject(frame, skipGroupPrefix);
                if (vObject == null)
                {
                    continue;
                }

                if (vObject is ImageVObject)
                {
                    (vObject as ImageVObject).LoadImage(frame);
                }

                layer.VObjects.Insert(0, vObject);
            }
            canvas.Layers.Add(layer);
            return(canvas);
        }