예제 #1
0
        static VmskResource GetVmskResource(PsdImage image)
        {
            var          layer     = image.Layers[1];
            VmskResource resource  = null;
            var          resources = layer.Resources;

            for (int i = 0; i < resources.Length; i++)
            {
                if (resources[i] is VmskResource)
                {
                    resource = (VmskResource)resources[i];
                    break;
                }
            }
            if (resource == null)
            {
                throw new Exception("VmskResource not found");
            }
            return(resource);
        }
            /// <summary>
            /// Finds the <see cref="VectorPathDataResource"/> resource in input layer resources.
            /// </summary>
            /// <param name="psdLayer">The psd layer.</param>
            /// <param name="createIfNotExist">If resource not exists, then for <see cref="true"/> creates a new resource, otherwise return <see cref="null"/>.</param>
            /// <returns>The <see cref="VectorPathDataResource"/> resource.</returns>
            private static VectorPathDataResource FindVectorPathDataResource(Layer psdLayer, bool createIfNotExist = false)
            {
                VectorPathDataResource pathResource = null;

                foreach (var resource in psdLayer.Resources)
                {
                    if (resource is VectorPathDataResource)
                    {
                        pathResource = (VectorPathDataResource)resource;
                        break;
                    }
                }

                if (createIfNotExist && pathResource == null)
                {
                    pathResource = new VmskResource();
                }

                return(pathResource);
            }