Class PlLdResource
Innehåll
[
Dölj
]PlLdResource class
Definierar klassen PlLdResource som innehåller information om ett placerat lager i PSD-filen. Is används för att stödja smarta objektlager i Adobe® Photoshop®-bilderna. Den ersattes av SoLdResource i Adobe® Photoshop® CS3
public class PlLdResource : PlacedResource
Egenskaper
namn | Beskrivning |
---|---|
virtual AntiAliasPolicy { get; set; } | Hämtar eller ställer in anti-alias-policyn för det placerade lagret i PSD-bilden. |
Bottom { get; set; } | Hämtar eller ställer in den nedre platsen för det placerade lagret i PSD-bilden. |
Bounds { get; set; } | Hämtar eller ställer in gränserna för det placerade lagret i PSD-filen. |
HorizontalMeshPoints { get; set; } | Hämtar eller ställer in de horisontella mesh-punkterna för det placerade lagret i PSD-filen. |
HorizontalMeshPointUnit { get; set; } | Hämtar eller ställer in måttenheten för de horisontella maskpunkterna. |
IsCustom { get; set; } | Hämtar eller ställer in ett värde som indikerar om denna instansförvrängningsstil är anpassad. Om den är sant innehåller den mesh-punkter. Om den är inställd på false raderas mesh-punkter. |
virtual Items { get; set; } | Hämtar eller ställer in förvrängningsobjekten. |
override Key { get; } | Hämtar PlLd-resursnyckeln. |
Left { get; set; } | Hämtar eller ställer in den vänstra platsen för det placerade lagret i PSD-filen. |
override Length { get; } | Hämtar PlLd-resurslängden i byte. |
virtual PageNumber { get; set; } | Hämtar eller ställer in sidnumret för det placerade lagret i PSD-filen. |
Perspective { get; set; } | Hämtar eller ställer in perspektivvärdet för det placerade lagret i PSD-filen. |
PerspectiveOther { get; set; } | Hämtar eller ställer in perspektivets andra värde för det placerade lagret i PSD-filen. |
virtual PlacedLayerType { get; set; } | Hämtar eller ställer in typen av det placerade lagret i PSD-filen. |
override PsdVersion { get; } | Får den minimala psd-version som krävs för PlLd-resursen. 0 indikerar inga begränsningar. |
Right { get; set; } | Hämtar eller ställer in rätt plats för det placerade lagret i PSD-filen. |
override Signature { get; } | Får PlLd-resurssignaturen. |
Top { get; set; } | Hämtar eller ställer in den övre platsen för det placerade lagret i PSD-bilden. |
virtual TotalPages { get; set; } | Hämtar eller ställer in det totala antalet sidor för det placerade lagret i PSD-filen. |
virtual TransformMatrix { get; set; } | Hämtar eller ställer in transformationsmatrisen för det placerade lagret i PSD-filen. |
virtual UniqueId { get; set; } | Hämtar eller ställer in den globala unika identifieraren för det placerade lagret i PSD-bilden. |
UOrder { get; set; } | Hämtar eller ställer in U-ordervärdet för det placerade lagret i PSD-filen. |
Value { get; set; } | Hämtar eller ställer in varpvärdet för det placerade lagret i PSD-bilden. |
Version { get; } | Hämtar versionen av det placerade lagret i PSD-filen, vanligtvis 3. |
VerticalMeshPoints { get; set; } | Hämtar eller ställer in de horisontella mesh-punkterna för det placerade lagret i PSD-filen. |
VerticalMeshPointUnit { get; set; } | Hämtar eller ställer in måttenheten för de vertikala maskpunkterna. |
VOrder { get; set; } | Hämtar eller ställer in V-ordningens värde för det placerade lagret i PSD-filen. |
Metoder
namn | Beskrivning |
---|---|
override Save(StreamContainer, int) | Sparar PlLD-resursen till den angivna strömbehållaren. |
override ToString() | Returnerar enString som representerar denna instans. |
Fält
namn | Beskrivning |
---|---|
const TypeToolKey | Typverktygets infonyckel. |
Exempel
Följande kod visar stödet för PlLdResource-resursen.
[C#]
void AssertAreEqual(object actual, object expected)
{
var areEqual = object.Equals(actual, expected);
if (!areEqual && actual is Array && expected is Array)
{
var actualArray = (Array)actual;
var expectedArray = (Array)actual;
if (actualArray.Length == expectedArray.Length)
{
for (int i = 0; i < actualArray.Length; i++)
{
if (!object.Equals(actualArray.GetValue(i), expectedArray.GetValue(i)))
{
break;
}
}
areEqual = true;
}
}
if (!areEqual)
{
throw new FormatException(
string.Format("Actual value {0} are not equal to expected {1}.", actual, expected));
}
}
var sourceFilePath = "LayeredSmartObjects8bit2.psd";
var outputFilePath = "LayeredSmartObjects8bit2_output.psd";
var expectedValues = new object[]
{
new object[]
{
true,
"76f05a3b-7523-5e42-a1bb-27f4735bffa0",
1,
1,
0x10,
PlacedLayerType.Raster,
new double[8]
{
29.937922786050663,
95.419959734187131,
126.85445817782261,
1.0540625423957124,
172.20861031651307,
47.634102808208553,
75.292074924741144,
142
},
0d,
0d,
0d,
0d,
0d,
149d,
310d,
4,
4,
UnitTypes.Pixels,
new double[16]
{
0.0d, 103.33333333333333d, 206.66666666666666d, 310.0d,
0.0d, 103.33333333333333d, 206.66666666666666d, 310.0d,
0.0d, 103.33333333333333d, 206.66666666666666d, 310.0d,
0.0d, 103.33333333333333d, 206.66666666666666d, 310.0d
},
UnitTypes.Pixels,
new double[16]
{
0.0d, 0.0d, 0.0d, 0.0d,
49.666666666666664d, 49.666666666666664d, 49.666666666666664d, 49.666666666666664d,
99.333333333333329d, 99.333333333333329d, 99.333333333333329d, 99.333333333333329d,
149, 149, 149, 149,
},
},
new object[]
{
true,
"cf0477a8-8f92-ac4f-9462-f78e26234851",
1,
1,
0x10,
PlacedLayerType.Raster,
new double[8]
{
37.900314592235681,
-0.32118219433001371,
185.94210608826535,
57.7076819802063,
153.32047433609358,
140.9311755779743,
5.2786828400639294,
82.902311403437977,
},
0d,
0d,
0d,
0d,
0d,
721d,
1280d,
4,
4,
UnitTypes.Pixels,
new double[16]
{
0.0, 426.66666666666663, 853.33333333333326, 1280,
0.0, 426.66666666666663, 853.33333333333326, 1280,
0.0, 426.66666666666663, 853.33333333333326, 1280,
0.0, 426.66666666666663, 853.33333333333326, 1280,
},
UnitTypes.Pixels,
new double[16]
{
0.0, 0.0, 0.0, 0.0,
240.33333333333331, 240.33333333333331, 240.33333333333331, 240.33333333333331,
480.66666666666663, 480.66666666666663, 480.66666666666663, 480.66666666666663,
721, 721, 721, 721,
},
0,
0
}
};
using (PsdImage image = (PsdImage)Image.Load(sourceFilePath))
{
PlLdResource resource = null;
int index = 0;
foreach (Layer imageLayer in image.Layers)
{
foreach (var imageResource in imageLayer.Resources)
{
resource = imageResource as PlLdResource;
if (resource != null)
{
var expectedValue = (object[])expectedValues[index++];
AssertAreEqual(expectedValue[0], resource.IsCustom);
AssertAreEqual(expectedValue[1], resource.UniqueId.ToString());
AssertAreEqual(expectedValue[2], resource.PageNumber);
AssertAreEqual(expectedValue[3], resource.TotalPages);
AssertAreEqual(expectedValue[4], resource.AntiAliasPolicy);
AssertAreEqual(expectedValue[5], resource.PlacedLayerType);
AssertAreEqual(8, resource.TransformMatrix.Length);
AssertAreEqual((double[])expectedValue[6], resource.TransformMatrix);
AssertAreEqual(expectedValue[7], resource.Value);
AssertAreEqual(expectedValue[8], resource.Perspective);
AssertAreEqual(expectedValue[9], resource.PerspectiveOther);
AssertAreEqual(expectedValue[10], resource.Top);
AssertAreEqual(expectedValue[11], resource.Left);
AssertAreEqual(expectedValue[12], resource.Bottom);
AssertAreEqual(expectedValue[13], resource.Right);
AssertAreEqual(expectedValue[14], resource.UOrder);
AssertAreEqual(expectedValue[15], resource.VOrder);
if (resource.IsCustom)
{
AssertAreEqual(expectedValue[16], resource.HorizontalMeshPointUnit);
AssertAreEqual((double[])expectedValue[17], resource.HorizontalMeshPoints);
AssertAreEqual(expectedValue[18], resource.VerticalMeshPointUnit);
AssertAreEqual((double[])expectedValue[19], resource.VerticalMeshPoints);
var temp = resource.VerticalMeshPoints;
resource.VerticalMeshPoints = resource.HorizontalMeshPoints;
resource.HorizontalMeshPoints = temp;
}
resource.PageNumber = 2;
resource.TotalPages = 3;
resource.AntiAliasPolicy = 30;
resource.Value = 1.23456789;
resource.Perspective = 0.123456789;
resource.PerspectiveOther = 0.987654321;
resource.Top = -126;
resource.Left = -215;
resource.Bottom = 248;
resource.Right = 145;
// Var försiktig med vissa parametrar: bilden kan bli oläslig av Adobe® Photoshop®
////resource.UOrder = 6;
////resource.VOrder = 9;
// Ändra inte detta annars kommer du inte att kunna använda gratis transform
// eller ändra det understrykande smarta objektet till vektortypen
////resource.PlacedLayerType = PlacedLayerType.Vector;
// Det bör finnas en giltig PlLdResource med detta unika ID
////resource.UniqueId = new Guid("98765432-10fe-cba0-1234-56789abcdef0");
break;
}
}
}
AssertAreEqual(true, resource != null);
image.Save(outputFilePath, new PsdOptions(image));
}
Se även
- class PlacedResource
- namnutrymme Aspose.PSD.FileFormats.Psd.Layers.LayerResources
- hopsättning Aspose.PSD