Class VmskResource
VmskResource class
क्लास VmskResource. इस संसाधन में वेक्टर लेयर मास्क के बारे में जानकारी है
public class VmskResource : VectorPathDataResource
कंस्ट्रक्टर्स
नाम | विवरण |
---|
VmskResource() | का एक नया उदाहरण प्रारंभ करता हैVmskResource वर्ग. |
VmskResource(byte[]) | का एक नया उदाहरण प्रारंभ करता हैVmskResource वर्ग. |
गुण
नाम | विवरण |
---|
IsDisabled { get; set; } | एक मान प्राप्त करता है या सेट करता है जो दर्शाता है कि यह उदाहरण अक्षम है या नहीं। |
IsInverted { get; set; } | एक मान प्राप्त करता है या सेट करता है जो दर्शाता है कि यह उदाहरण उल्टा है। |
IsNotLinked { get; set; } | एक मान प्राप्त करता है या सेट करता है जो दर्शाता है कि यह उदाहरण लिंक नहीं है। |
override Key { get; } | परत संसाधन कुंजी प्राप्त करता है. |
override Length { get; } | बाइट्स में परत संसाधन लंबाई प्राप्त करता है। |
Paths { get; set; } | पथ रिकॉर्ड प्राप्त या सेट करता है। |
override PsdVersion { get; } | पीएसडी संस्करण प्राप्त करता है। |
override Signature { get; } | हस्ताक्षर हो जाता है। |
Version { get; set; } | संस्करण प्राप्त या सेट करता है। |
तरीकों
नाम | विवरण |
---|
override Save(StreamContainer, int) | संसाधन को निर्दिष्ट स्ट्रीम कंटेनर में सहेजता है। |
override ToString() | रिटर्न एString जो इस उदाहरण का प्रतिनिधित्व करता है। |
खेत
उदाहरण
निम्न उदाहरण VmskResource संसाधन लोडिंग के समर्थन को प्रदर्शित करता है। रास्तों का संपादन कैसे काम करता है।
[C#]
[Test]
public void TestPsdNet106()
{
string sourceFileName = "Rectangle.psd";
string exportPath = "Rectangle_changed.psd";
var im = (PsdImage)Image.Load(sourceFileName);
using (im)
{
var resource = GetVmskResource(im);
// अध्ययन
if (resource.IsDisabled != false ||
resource.IsInverted != false ||
resource.IsNotLinked != false ||
resource.Paths.Length != 7 ||
resource.Paths[0].Type != VectorPathType.PathFillRuleRecord ||
resource.Paths[1].Type != VectorPathType.InitialFillRuleRecord ||
resource.Paths[2].Type != VectorPathType.ClosedSubpathLengthRecord ||
resource.Paths[3].Type != VectorPathType.ClosedSubpathBezierKnotUnlinked ||
resource.Paths[4].Type != VectorPathType.ClosedSubpathBezierKnotUnlinked ||
resource.Paths[5].Type != VectorPathType.ClosedSubpathBezierKnotUnlinked ||
resource.Paths[6].Type != VectorPathType.ClosedSubpathBezierKnotUnlinked)
{
throw new Exception("VmskResource was read wrong");
}
var pathFillRule = (PathFillRuleRecord)resource.Paths[0];
var initialFillRule = (InitialFillRuleRecord)resource.Paths[1];
var subpathLength = (LengthRecord)resource.Paths[2];
// पथ भरण नियम में कोई अतिरिक्त जानकारी नहीं है
if (pathFillRule.Type != VectorPathType.PathFillRuleRecord ||
initialFillRule.Type != VectorPathType.InitialFillRuleRecord ||
initialFillRule.IsFillStartsWithAllPixels != false ||
subpathLength.Type != VectorPathType.ClosedSubpathLengthRecord ||
subpathLength.IsClosed != true ||
subpathLength.IsOpen != false)
{
throw new Exception("VmskResource paths were read wrong");
}
// संपादन
resource.IsDisabled = true;
resource.IsInverted = true;
resource.IsNotLinked = true;
var bezierKnot = (BezierKnotRecord)resource.Paths[3];
bezierKnot.Points[0] = new Point(0, 0);
bezierKnot = (BezierKnotRecord)resource.Paths[4];
bezierKnot.Points[0] = new Point(8039797, 10905190);
initialFillRule.IsFillStartsWithAllPixels = true;
subpathLength.IsClosed = false;
im.Save(exportPath);
}
}
private 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;
}
यह सभी देखें