Notas de la versión de Aspose.PSD para .NET 22.11
- Esta versión tiene una regresión en el caso de exportaciones de 16 bits, por lo que recomendamos precaución al usar esta característica en esta versión. Por favor, no actualice Aspose.PSD a 22.9-22.11 si el procesamiento de imágenes de 16 bits es su funcionalidad principal.
Estamos trabajando en soluciones para estos problemas.
Clave | Resumen | Categoría |
---|---|---|
PSDNET-1320 | No se pueden exportar archivos PSB extremadamente grandes | Mejora |
PSDNET-659 | Hacer el centro del degradado radial móvil | Característica |
PSDNET-1330 | Método de compresión ZipWithoutPrediction no soportado para archivos específicos | Característica |
PSDNET-735 | Después de usar un método de transformación solo para una capa, la capa guardada tiene una caja delimitadora incorrecta | Error |
PSDNET-1234 | Excepción al cargar una imagen PSD con patrón | Error |
PSDNET-1244 | Error en la exportación de imagen (IndexOutOfRangeException) al guardar un archivo PSD con símbolos chinos | Error |
PSDNET-1303 | El marco activo de la línea de tiempo se aplica de forma incorrecta | Error |
PSDNET-1307 | Regresión 22.7: representación incorrecta de texto con caracteres árabes | Error |
PSDNET-1321 | La máscara vectorial en la capa de grupo funciona de manera incorrecta. La imagen final tiene el agujero negro pero no debería | Error |
Cambios en la API Pública
APIs añadidas:
- M:Aspose.PSD.FileFormats.Psd.Layers.TextLayer.Resize(System.Int32,System.Int32,Aspose.PSD.ResizeType)
APIs eliminadas:
- Ninguna
Ejemplos de uso:
PSDNET-659. Hacer el centro del degradado radial móvil
string archivoFuente = "psdnet659.psd";
string archivoSalida = "salida.png";
using (var imagenPsd = (PsdImage)Image.Load(archivoFuente))
{
FillLayer capaRadial = (FillLayer)imagenPsd.Layers[5];
GradientFillSettings ajustes = (GradientFillSettings)capaRadial.FillSettings;
// Actualizar el punto de desplazamiento
ajustes.HorizontalOffset = 10;
ajustes.VerticalOffset = -25;
imagenPsd.Save(archivoSalida, new PngOptions());
}
PSDNET-735. Después de usar un método de transformación solo para una capa, la capa guardada tiene una caja delimitadora incorrecta
string nombreArchivoFuente = @"TextLayer.psd";
string archivoSalida = "TextLayerRedimensionada_output.psd";
using (PsdImage imagen = (PsdImage)Image.Load(nombreArchivoFuente, new PsdLoadOptions()))
{
TextLayer capaTexto = (TextLayer)imagen.Layers[1];
// Establece el nuevo tamaño de la capa de texto
const int NuevoAncho = 250;
const int NuevaAltura = 250;
// Establece el mecanismo de cómo la función de redimensionamiento cambiará el tamaño de la capa (valor predeterminado)
ResizeType tipoRedimensionamiento = ResizeType.NearestNeighbourResample;
// Nuevo mecanismo de redimensionamiento para la capa de texto se utiliza aquí
// No solo la capa sino también la matriz de transformación de la capa de texto se cambiarán
capaTexto.Resize(NuevoAncho, NuevaAltura, tipoRedimensionamiento);
imagen.Save(archivoSalida, new PsdOptions(imagen));
}
using (PsdImage imagen = (PsdImage)Image.Load(archivoSalida, new PsdLoadOptions()))
{
TextLayer capaTxt = (TextLayer)imagen.Layers[1];
// La razón del delta es una fuente predeterminada diferente
if (capaTxt.TransformMatrix[4] >= 65
&& capaTxt.TransformMatrix[4] <= 67
&& capaTxt.TransformMatrix[5] >= 234
&& capaTxt.TransformMatrix[5] <= 237)
{
// Todo está correcto
}
else
{
throw new Exception("El punto de ubicación es incorrecto");
}
}
PSDNET-1234. Excepción al cargar una imagen PSD con patrón
string archivoFuente = "test.psd";
string salida = "salida1234.png";
using (PsdImage imagenPsd = (PsdImage)PsdImage.Load(archivoFuente,
new PsdLoadOptions() { LoadEffectsResource = true }))
{
PngOptions opcionesPng = new PngOptions() { ColorType = PngColorType.TruecolorWithAlpha };
imagenPsd.Save(salida, opcionesPng);
}
PSDNET-1244. Error en la exportación de imagen (IndexOutOfRangeException) al guardar un archivo PSD con símbolos chinos
string archivoFuente = "input.psd";
string rutaSalida = "output.psd";
var opcionesCarga = new PsdLoadOptions
{
LoadEffectsResource = true,
UseDiskForLoadEffectsResource = true
};
using (var imagen = (PsdImage)Image.Load(archivoFuente, opcionesCarga))
{
foreach (var capa in imagen.Layers)
{
if (capa.Name == "1")
{
var capaTxt = (TextLayer)capa;
capaTxt.UpdateText("测试测试");
}
}
// Aquí no debería haber excepción.
imagen.Save(rutaSalida, new PsdOptions() { CompressionMethod = CompressionMethod.RLE, ColorMode = ColorModes.Rgb });
}
PSDNET-1303. El marco activo de la línea de tiempo se aplica de forma incorrecta
string fuente = "timeline1303.psd";
string salida = "salida_timeline.psd";
using (var imagenPsd = (PsdImage)Image.Load(fuente))
{
TimeLine lineaTiempo = TimeLine.InitializeFrom(imagenPsd);
lineaTiempo.ActiveFrame = 2;
lineaTiempo.ApplyTo(imagenPsd);
imagenPsd.Save(salida);
}
PSDNET-1307. Regresión 22.7: representación incorrecta de texto con caracteres árabes
string carpetaFuentesPrueba = "Fuentes";
FontSettings.SetFontsFolder(carpetaFuentesPrueba);
FontSettings.UpdateFonts();
string rutaArchivoFuente = "sarbarg.fin12.psd";
string rutaArchivoSalida = "resultado.tiff";
using (var imagenPsd = (PsdImage)Image.Load(rutaArchivoFuente))
{
imagenPsd.Save(rutaArchivoSalida, new Aspose.PSD.ImageOptions.TiffOptions(TiffExpectedFormat.TiffLzwRgb));
}
PSDNET-1320. No se pueden exportar archivos PSB extremadamente grandes
string archivoFuente = "hf-mim-liman-han-guc-art-kuvvet.psb";
string rutaExportacionPsd = "hf-mim-liman-han-guc-art-kuvvet.png";
using (var imagen = (PsdImage)Image.Load(archivoFuente, new PsdLoadOptions() { ReadOnlyMode = true }))
{
imagen.Save(rutaExportacionPsd, new PngOptions() { ColorType = PngColorType.TruecolorWithAlpha });
}
PSDNET-1321. La máscara vectorial en la capa de grupo funciona de manera incorrecta. La imagen final tiene el agujero negro pero no debería
string archivoFuente = "demo.psd";
string salida = "demo_net.png";
using (PsdImage im = (PsdImage)PsdImage.Load(archivoFuente))
{
PngOptions opcionesPng = new PngOptions() { ColorType = PngColorType.TruecolorWithAlpha };
im.Save(salida, opcionesPng);
}
PSDNET-1330. Método de compresión ZipWithoutPrediction no soportado para archivos específicos
string archivoFuente = "20221017_220706_0000.psd";
string archivoSalida = "20221017_220706_0000.jpg";
using (var imagen = (PsdImage)Image.Load(archivoFuente, new PsdLoadOptions() { LoadEffectsResource = true }))
{
ImageOptionsBase opcionesBase = new JpegOptions() { Quality = 80 };
imagen.Save(archivoSalida, opcionesBase);
}