PathResources
TiffFrame.PathResources property
الحصول على موارد المسار أو تعيينها .
public List<PathResource> PathResources { get; set; }
Property_Value
موارد المسار .
أمثلة
انقل مسارات القطع أثناء التصدير من TIFF إلى صورة PSD.
[C#]
using (var image = Image.Load("Sample.tif"))
{
image.Save("SampleWithPaths.psd", new PsdOptions());
}
يوضح المثال التالي كيفية استرداد المسارات من صورة TIFF وعرض أسمائها في وحدة التحكم.
[C#]
using (var image = (TiffImage)Image.Load("Sample.tif"))
{
foreach (var path in image.ActiveFrame.PathResources)
{
Console.WriteLine(path.Name);
}
}
يوضح المثال التالي كيفية تعديل مسارات القطع الموجودة بالفعل. على سبيل المثال ، يمكنك الاحتفاظ بمسار قص واحد فقط في الصورة.
[C#]
using (var image = (TiffImage)Image.Load("Sample.tif"))
{
var paths = image.ActiveFrame.PathResources;
image.ActiveFrame.PathResources = paths.Take(1).ToList();
image.Save();
}
يوضح المثال التالي كيفية إنشاء مسار القطع في صورة TIFF. للقيام بذلك ، تحتاج إلى إنشاء مثيل لفئة PathResource. يوضح الكود التالي الطريقة التي يمكنك من خلالها إنشاء مسار فارغ في صورة TIFF.
[C#]
var options = new TiffOptions(TiffExpectedFormat.Default);
var frame = new TiffFrame(options, 800, 600);
using (var image = new TiffImage(frame))
{
image.ActiveFrame.PathResources = new List<PathResource>
{
new PathResource
{
BlockId = 2000,
Name = "My Clipping Path",
Records = new List<VectorPathRecord>()
}
};
image.Save("ImageWithEmptyPath.tiff");
}
قم بإنشاء مسار القطع يدويًا.
[C#]
static void Main()
{
using (var image = (TiffImage)Image.Load("Sample.tif"))
{
image.ActiveFrame.PathResources = new List<PathResource> { new PathResource
{
BlockId = 2000, // Block Id وفقًا لمواصفات Photoshop
Name = "My Clipping Path", // اسم المسار
Records = CreateRecords(0.2f, 0.2f, 0.8f, 0.2f, 0.8f, 0.8f, 0.2f, 0.8f) // إنشاء سجلات المسار باستخدام الإحداثيات
}};
image.Save("ImageWithPath.tif");
}
}
private static List<VectorPathRecord> CreateRecords(params float[] coordinates)
{
var records = CreateBezierRecords(coordinates); // إنشاء سجلات بيزير باستخدام الإحداثيات
records.Insert(0, new LengthRecord // LengthRecord مطلوبة بمواصفات Photoshop
{
IsOpen = false, // يتيح إنشاء مسار مغلق
RecordCount = (ushort)records.Count // سجل العد في المسار
});
return records;
}
private static List<VectorPathRecord> CreateBezierRecords(float[] coordinates)
{
return CoordinatesToPoints(coordinates)
.Select(CreateBezierRecord)
.ToList();
}
private static IEnumerable<PointF> CoordinatesToPoints(float[] coordinates)
{
for (var index = 0; index < coordinates.Length; index += 2)
yield return new PointF(coordinates[index], coordinates[index + 1]);
}
private static VectorPathRecord CreateBezierRecord(PointF point)
{
return new BezierKnotRecord { PathPoints = new[] { point, point, point } };
}
أنظر أيضا
- class PathResource
- class TiffFrame
- مساحة الاسم Aspose.Imaging.FileFormats.Tiff
- المجسم Aspose.Imaging