LiFeDataSource.RelativePath
LiFeDataSource.RelativePath property
Λαμβάνει ή ορίζει τη σχετική διαδρομή του εξωτερικού αρχείου στην πηγή δεδομένων LiFE του πόρου PSD LnkE.
public string RelativePath { get; set; }
Αξία περιουσίας
Η σχετική διαδρομή αρχείου.
Εξαιρέσεις
εξαίρεση | κατάσταση |
---|---|
PsdImageException | Δεν μπορείτε να αποκτήσετε πρόσβαση στην ιδιότητα RelativePath, είναι διαθέσιμη μόνο για το liFE data source |
Παραδείγματα
Αυτό το παράδειγμα δείχνει πώς να αποκτήσετε και να ορίσετε ιδιότητες του πόρου Psd LnkE.
[C#]
string message = "The example works incorrectly.";
void AssertAreEqual(object actual, object expected)
{
if (!object.Equals(actual, expected))
{
throw new FormatException(message);
}
}
// Αυτό το παράδειγμα δείχνει πώς να αποκτήσετε και να ορίσετε ιδιότητες του πόρου Psd LnkE που περιέχει πληροφορίες σχετικά με ένα εξωτερικό συνδεδεμένο αρχείο.
void ExampleOfLnkEResourceSupport(
string fileName,
int length,
int length2,
int length3,
int length4,
string fullPath,
string date,
double assetModTime,
string childDocId,
bool locked,
string uid,
string name,
string originalFileName,
string fileType,
long size,
int version)
{
string outputPath = fileName;
using (PsdImage image = (PsdImage)Image.Load(fileName))
{
LnkeResource lnkeResource = null;
foreach (var resource in image.GlobalLayerResources)
{
lnkeResource = resource as LnkeResource;
if (lnkeResource != null)
{
LiFeDataSource lifeSource = lnkeResource[0];
AssertAreEqual(lnkeResource.Length, length);
AssertAreEqual(lifeSource.UniqueId, new Guid(uid));
AssertAreEqual(lifeSource.FullPath, fullPath);
AssertAreEqual(lifeSource.Date.ToString(CultureInfo.InvariantCulture), date);
AssertAreEqual(lifeSource.AssetModTime, assetModTime);
AssertAreEqual(lifeSource.FileName, name);
AssertAreEqual(lifeSource.FileSize, size);
AssertAreEqual(lifeSource.ChildDocId, childDocId);
AssertAreEqual(lifeSource.Version, version);
AssertAreEqual(lifeSource.FileType.TrimEnd(' '), fileType);
AssertAreEqual(lifeSource.FileCreator.TrimEnd(' '), string.Empty);
AssertAreEqual(lifeSource.OriginalFileName, originalFileName);
AssertAreEqual(false, lnkeResource.IsEmpty);
AssertAreEqual(true, lifeSource.Type == LinkDataSourceType.liFE);
if (version == 7)
{
AssertAreEqual(lifeSource.AssetLockedState, locked);
}
if (lifeSource.HasFileOpenDescriptor)
{
AssertAreEqual(lifeSource.CompId, -1);
AssertAreEqual(lifeSource.OriginalCompId, -1);
}
lifeSource.FullPath =
@"file:///C:/Aspose/net/Aspose.Psd/test/testdata/Images/Psd/SmartObjects/rgb8_2x2.png";
AssertAreEqual(lnkeResource.Length, length2);
lifeSource.FileName = "rgb8_2x23.png";
AssertAreEqual(lnkeResource.Length, length3);
lifeSource.ChildDocId = Guid.NewGuid().ToString();
AssertAreEqual(lnkeResource.Length, length4);
lifeSource.Date = DateTime.Now;
lifeSource.AssetModTime = double.MaxValue;
lifeSource.FileSize = long.MaxValue;
lifeSource.FileType = "test";
lifeSource.FileCreator = "file";
lifeSource.CompId = int.MaxValue;
break;
}
}
AssertAreEqual(true, lnkeResource != null);
image.Save(outputPath, new PsdOptions(image));
}
}
// Αυτό το παράδειγμα δείχνει πώς να αποκτήσετε και να ορίσετε ιδιότητες του Psd LnkeResource που περιέχει πληροφορίες σχετικά με το εξωτερικό συνδεδεμένο αρχείο JPEG.
ExampleOfLnkEResourceSupport(
@"photooverlay_5_new.psd",
0x21c,
0x26c,
0x274,
0x27c,
@"file:///C:/Users/cvallejo/Desktop/photo.jpg",
"05/09/2017 22:24:51",
0,
"F062B9DB73E8D124167A4186E54664B0",
false,
"02df245c-36a2-11e7-a9d8-fdb2b61f07a7",
"photo.jpg",
"photo.jpg",
"JPEG",
0x1520d,
7);
// Αυτό το παράδειγμα δείχνει πώς να αποκτήσετε και να ορίσετε ιδιότητες του PSD LnkeResource που περιέχει πληροφορίες σχετικά με ένα εξωτερικό συνδεδεμένο αρχείο PNG.
ExampleOfLnkEResourceSupport(
"rgb8_2x2_linked.psd",
0x284,
0x290,
0x294,
0x2dc,
@"file:///C:/Aspose/net/Aspose.Psd/test/testdata/Issues/PSDNET-491/rgb8_2x2.png",
"04/14/2020 14:23:44",
0,
string.Empty,
false,
"5867318f-3174-9f41-abca-22f56a75247e",
"rgb8_2x2.png",
"rgb8_2x2.png",
"png",
0x53,
7);
// Αυτό το παράδειγμα δείχνει πώς να αποκτήσετε και να ορίσετε ιδιότητες του PSD LnkeResource που περιέχει πληροφορίες σχετικά με δύο εξωτερικά συνδεδεμένα αρχεία PNG και PSD.
ExampleOfLnkEResourceSupport(
"rgb8_2x2_linked2.psd",
0x590,
0x580,
0x554,
0x528,
@"file:///C:/Aspose/net/Aspose.Psd/test/testdata/Images/Psd/AddColorBalanceAdjustmentLayer.psd",
"01/15/2020 13:02:00",
0,
"adobe:docid:photoshop:9312f484-3403-a644-8973-e725abc95fb7",
false,
"78a5b588-364f-0940-a2e5-a450a031aa48",
"AddColorBalanceAdjustmentLayer.psd",
"AddColorBalanceAdjustmentLayer.psd",
"8BPS",
0x4aea,
7);
// Αυτό το παράδειγμα δείχνει πώς να αποκτήσετε και να ορίσετε ιδιότητες του Photoshop Psd LnkeResource που περιέχει πληροφορίες σχετικά με ένα εξωτερικό συνδεδεμένο στοιχείο CC Libraries.
ExampleOfLnkEResourceSupport(
"rgb8_2x2_asset_linked.psd",
0x398,
0x38c,
0x388,
0x3d0,
@"CC Libraries Asset “rgb8_2x2_linked/rgb8_2x2” (Feature is available in Photoshop CC 2015)",
"01/01/0001 00:00:00",
1588890915488.0d,
string.Empty,
false,
"ec15f0a8-7f13-a640-b928-7d29c6e9859c",
"rgb8_2x2_linked",
"rgb8_2x2.png",
"png",
0,
7);
Ο ακόλουθος κώδικας δείχνει την υποστήριξη του πόρου LnkeResource.
[C#]
void AssertIsTrue(bool condition)
{
if (!condition)
{
throw new FormatException(string.Format("Expected true"));
}
}
void AssertAreEqual(object actual, object expected)
{
if (!object.Equals(actual, expected))
{
throw new FormatException(string.Format("Actual value {0} are not equal to expected {1}.", actual, expected));
}
}
object[] ComplexLnkEResourceSupportCases = new object[]
{
new object[]
{
"10fc87d0-688f-1179-9685-9d0a040abdc3",
@"CC Libraries Asset “OneReview-InDesign-InContextTranslation/or hdr btns” (Feature is available in Photoshop CC 2015)",
"01/01/0001 00:00:00",
1463698633541.0d,
"uuid:8485ca8d-9496-7f4d-9ef7-4243a00d4161",
"OneReview-InDesign-InContextTranslation",
"or hdr btns.ai",
0L,
"",
6,
"unlicensed",
false,
0x3b4
},
new object[]
{
"10fc87cc-688f-1179-9685-9d0a040abdc3",
@"CC Libraries Asset “OneReview-InDesign-InContextTranslation/cs Id icon” (Feature is available in Photoshop CC 2015)",
"01/01/0001 00:00:00",
1463698633512.0d,
"uuid:c18be832-adf7-4b43-8223-a9740807a66c",
"OneReview-InDesign-InContextTranslation",
"cs Id icon.ai",
0L,
"",
6,
"unlicensed",
false,
0x3b0
},
new object[]
{
"10fef79c-688f-1179-9685-9d0a040abdc3",
@"CC Libraries Asset “OneReview-InDesign-InContextTranslation/pointer cursor” (Feature is available in Photoshop CC 2015)",
"01/01/0001 00:00:00",
1463698633570.0d,
"uuid:9d7ccaac-f094-214b-8721-1a07ae8700a9",
"OneReview-InDesign-InContextTranslation",
"pointer cursor.ai",
0L,
"",
6,
"unlicensed",
false,
0x03c0
},
new object[]
{
"10fef79a-688f-1179-9685-9d0a040abdc3",
@"CC Libraries Asset “OneReview-InDesign-InContextTranslation/x” (Feature is available in Photoshop CC 2015)",
"01/01/0001 00:00:00",
1463698633555.0d,
"uuid:b28aa699-21d6-2d4d-a4c7-790234c1b6ba",
"OneReview-InDesign-InContextTranslation",
"x.ai",
0L,
"",
6,
"unlicensed",
false,
0x38c
},
new object[]
{
"10fef79b-688f-1179-9685-9d0a040abdc3",
@"CC Libraries Asset “OneReview-InDesign-InContextTranslation/modal btns” (Feature is available in Photoshop CC 2015)",
"01/01/0001 00:00:00",
1463698633562.0d,
"uuid:1bd42767-058d-da44-bdee-eada3b9d40a5",
"OneReview-InDesign-InContextTranslation",
"modal btns.ai",
0L,
"",
6,
"unlicensed",
false,
0x3b0
},
new object[]
{
"10fc87cd-688f-1179-9685-9d0a040abdc3",
@"CC Libraries Asset “OneReview-InDesign-InContextTranslation/cs ppt icon” (Feature is available in Photoshop CC 2015)",
"01/01/0001 00:00:00",
1463698633519.0d,
"uuid:215499ac-ac44-b44d-894b-9ff2c7008d9d",
"OneReview-InDesign-InContextTranslation",
"cs ppt icon.ai",
0L,
"",
6,
"unlicensed",
false,
0x3b4
},
new object[]
{
"10fc87cf-688f-1179-9685-9d0a040abdc3",
@"CC Libraries Asset “OneReview-InDesign-InContextTranslation/cs AI icon” (Feature is available in Photoshop CC 2015)",
"01/01/0001 00:00:00",
1463698633534.0d,
"uuid:a67964d4-8682-d649-8118-474cb1776264",
"OneReview-InDesign-InContextTranslation",
"cs AI icon.ai",
0L,
"",
6,
"unlicensed",
false,
0x3b0
},
new object[]
{
"10fc87ce-688f-1179-9685-9d0a040abdc3",
@"CC Libraries Asset “OneReview-InDesign-InContextTranslation/cs PSD icon” (Feature is available in Photoshop CC 2015)",
"01/01/0001 00:00:00",
1463698633527.0d,
"uuid:8e9d5745-9f23-6f49-968e-647a45811bcb",
"OneReview-InDesign-InContextTranslation",
"cs PSD icon.ai",
0L,
"",
6,
"unlicensed",
false,
0x3b4
},
};
void ExampleOfComplexLnkEResourceSupport(string filePath, int length, int length2, object[] dataSourceExpectedValues)
{
filePath = "PSDNET652_1" + Path.DirectorySeparatorChar + filePath;
string fileName = Path.GetFileName(filePath);
using (PsdImage image = (PsdImage)Image.Load(filePath))
{
LnkeResource lnkeResource = null;
foreach (var resource in image.GlobalLayerResources)
{
lnkeResource = resource as LnkeResource;
if (lnkeResource != null)
{
AssertAreEqual(lnkeResource.DataSourceCount, 8);
AssertAreEqual(lnkeResource.Length, length);
AssertAreEqual(lnkeResource.IsEmpty, false);
for (int i = 0; i < lnkeResource.DataSourceCount; i++)
{
LiFeDataSource liFeSource = lnkeResource[i];
object[] expected = (object[])dataSourceExpectedValues[i];
AssertAreEqual(liFeSource.Type, LinkDataSourceType.liFE);
AssertAreEqual(liFeSource.UniqueId, new Guid((string)expected[0]));
AssertAreEqual(liFeSource.FullPath, expected[1]);
AssertAreEqual(liFeSource.Date.ToString(CultureInfo.InvariantCulture), expected[2]);
AssertAreEqual(liFeSource.AssetModTime, expected[3]);
AssertAreEqual(liFeSource.ChildDocId, expected[4]);
AssertAreEqual(liFeSource.FileName, expected[5]);
AssertAreEqual(liFeSource.OriginalFileName, expected[6]);
AssertAreEqual(liFeSource.FileSize, expected[7]);
AssertAreEqual(liFeSource.FileType, expected[8]);
AssertAreEqual(liFeSource.FileCreator.TrimEnd(' '), string.Empty);
AssertAreEqual(liFeSource.Version, expected[9]);
AssertAreEqual(liFeSource.AdobeStockLicenseState, expected[10]);
AssertAreEqual(liFeSource.HasFileOpenDescriptor, (bool)expected[11]);
if (liFeSource.HasFileOpenDescriptor)
{
AssertAreEqual(liFeSource.CompId, -1);
AssertAreEqual(liFeSource.OriginalCompId, -1);
liFeSource.CompId = int.MaxValue;
}
liFeSource.FullPath = @"file:///C:/Aspose/net/Aspose.Psd/test/testdata/Images/Psd/SmartObjects/rgb8_2x2.png";
liFeSource.FileName = "rgb8_2x23.png";
liFeSource.ChildDocId = Guid.NewGuid().ToString();
liFeSource.Date = DateTime.Now;
liFeSource.AssetModTime = double.MaxValue;
liFeSource.FileSize = long.MaxValue;
liFeSource.FileType = "test";
liFeSource.FileCreator = "file";
AssertAreEqual((int)liFeSource.Length, expected[12]);
}
AssertAreEqual(lnkeResource.Length, length2);
break;
}
}
AssertIsTrue(lnkeResource != null);
}
}
ExampleOfComplexLnkEResourceSupport(
"OneReview-InDesign-RefreshPreviewIxD(2).psd",
0x21ac,
0x1db8,
ComplexLnkEResourceSupportCases);
Δείτε επίσης
- class LiFeDataSource
- χώρος ονομάτων Aspose.PSD.FileFormats.Psd.Layers.LayerResources
- συνέλευση Aspose.PSD