PathResources
TiffFrame.PathResources property
Obtiene o establece la ruta recursos.
public List<PathResource> PathResources { get; set; }
El valor de la propiedad
La ruta recursos.
Ejemplos
Transferir trazados de recorte durante la exportación de imagen TIFF a PSD.
[C#]
using (var image = Image.Load("Sample.tif"))
{
image.Save("SampleWithPaths.psd", new PsdOptions());
}
El siguiente ejemplo muestra cómo recuperar rutas de una imagen TIFF y mostrar sus nombres en la consola.
[C#]
using (var image = (TiffImage)Image.Load("Sample.tif"))
{
foreach (var path in image.ActiveFrame.PathResources)
{
Console.WriteLine(path.Name);
}
}
El siguiente ejemplo muestra cómo modificar Clipping Paths ya existentes. Por ejemplo, puede mantener solo un Trazado de recorte en la imagen.
[C#]
using (var image = (TiffImage)Image.Load("Sample.tif"))
{
var paths = image.ActiveFrame.PathResources;
image.ActiveFrame.PathResources = paths.Take(1).ToList();
image.Save();
}
El siguiente ejemplo muestra cómo crear Clipping Path en una imagen TIFF. Para hacerlo, debe crear una instancia de la clase PathResource. El siguiente código demuestra la forma en que puede crear una ruta vacía en una imagen 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");
}
Crear ruta de recorte manualmente.
[C#]
static void Main()
{
using (var image = (TiffImage)Image.Load("Sample.tif"))
{
image.ActiveFrame.PathResources = new List<PathResource> { new PathResource
{
BlockId = 2000, // ID de bloque según la especificación de Photoshop
Name = "My Clipping Path", // nombre de ruta
Records = CreateRecords(0.2f, 0.2f, 0.8f, 0.2f, 0.8f, 0.8f, 0.2f, 0.8f) // Crear registros de ruta usando coordenadas
}};
image.Save("ImageWithPath.tif");
}
}
private static List<VectorPathRecord> CreateRecords(params float[] coordinates)
{
var records = CreateBezierRecords(coordinates); // Crear registros Bezier usando coordenadas
records.Insert(0, new LengthRecord // Registro de longitud requerido por la especificación de Photoshop
{
IsOpen = false, // Vamos a crear una ruta cerrada
RecordCount = (ushort)records.Count // Conteo de registros en la ruta
});
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 } };
}
Ver también
- class PathResource
- class TiffFrame
- espacio de nombres Aspose.Imaging.FileFormats.Tiff
- asamblea Aspose.Imaging