Выпуск Aspose.PSD для Python via .NET 24.4 - Примечания к выпуску
Contents
[
Hide
]
Эта страница содержит примечания к выпуску Aspose.PSD для Python via .NET 24.4
Ключ | Описание | Категория |
---|---|---|
PSDPYTHON-50 | [Формат AI] Добавлена обработка ресурсов XObjectForm | Функция |
PSDPYTHON-51 | Добавить Конструктор для ShapeLayer | Функция |
PSDPYTHON-52 | Исправление конвертации файла Psd из RGB в CMYK | Ошибка |
PSDPYTHON-53 | Определенный файл PSD не может быть экспортирован с использованием Aspose.PSD | Ошибка |
Изменения в общедоступном API
Добавленные API:
- M:Aspose.PSD.FileFormats.Psd.PsdImage.AddShapeLayer
Удаленные API:
- Нет
Примеры использования:
PSDPYTHON-50. [Формат AI] Добавлена обработка ресурсов XObjectForm
ИмяИсходногоФайла = "пример.ai"
ПутьКВыходномуФайлу = "пример_output.png"
с aiКартинка.load(ИмяИсходногоФайла) как картинка:
картинка.save(ПутьКВыходномуФайлу, ПараметрыPng())
PSDPYTHON-51. Добавить Конструктор для ShapeLayer
def проверить ShapeLayerConstructor():
файлРезультат = "ДобавитьShapeLayer_output.psd"
с PsdImage(600, 400) как новыйPsd:
shapeLayer = newPsd.add_shape_layer()
новаяФорма = generate_new_shape(newPsd.size)
новыеФормы = [новаяФорма]
shapeLayer.path.set_items(новыеФормы)
shapeLayer.update()
newPsd.save(файлРезультат)
с PsdImage.load(файлРезультат) как img:
изображение = cast(PsdImage, img)
утверждать len(image.layers) == 2
shapeLayer = cast(ShapeLayer, image.layers[1])
internalFill = shapeLayer.fill
strokeSettings = shapeLayer.stroke
strokeFill = shapeLayer.stroke.fill
утверждать len(shapeLayer.path.get_items()) == 1
утверждать len(shapeLayer.path.get_items()[0].get_items()) == 3
утверждать internalFill.color.to_argb() == -16127182
утверждать strokeSettings.size == 7.41
утверждать not strokeSettings.enabled
утверждать strokeSettings.line_alignment == StrokePosition.CENTER
утверждать strokeSettings.line_cap == LineCapType.BUTT_CAP
утверждать strokeSettings.line_join == LineJoinType.MITER_JOIN
утверждать strokeFill.color.to_argb() == -16777216
def generate_new_shape(imageSize):
новаяФорма = PathShape()
точка1 = PointF(20, 100)
точка2 = PointF(200, 100)
точка3 = PointF(300, 10)
узел1 = BezierKnotRecord()
узел1.is_linked = True
узел1.points = [
Release_24_04_Tests.PointFToResourcePoint(точка1, imageSize),
Release_24_04_Tests.PointFToResourcePoint(точка1, imageSize),
Release_24_04_Tests.PointFToResourcePoint(точка1, imageSize)
]
узел2 = BezierKnotRecord()
узел2.is_linked = True
узел2.points = [
Release_24_04_Tests.PointFToResourcePoint(точка2, imageSize),
Release_24_04_Tests.PointFToResourcePoint(точка2, imageSize),
Release_24_04_Tests.PointFToResourcePoint(точка2, imageSize)
]
узел3 = BezierKnotRecord()
узел3.is_linked = True
узел3.points = [
Release_24_04_Tests.PointFToResourcePoint(точка3, imageSize),
Release_24_04_Tests.PointFToResourcePoint(точка3, imageSize),
Release_24_04_Tests.PointFToResourcePoint(точка3, imageSize)
]
bezierKnots = [
узел1,
узел2,
узел3
]
новаяФорма.set_items(bezierKnots)
return новаяФорма
def PointFToResourcePoint(point, imageSize):
ImgToPsdRatio = 256 * 65535
вернуть Point(
int(round(point.y * (ImgToPsdRatio / imageSize.height))),
int(round(point.x * (ImgToPsdRatio / imageSize.width)))
)
def assert_are_equal(expected, actual, message=None):
если ожидаемое != фактическое:
возбудить Исключение(message or "Объекты не равны.")
PSDPYTHON-52. Исправление конвертации файла Psd из RGB в CMYK
def проверитьКонвертациюИзRgbВCmyk():
исходныйФайл = "frog_nosymb.psd"
выходнойФайл = "frog_nosymb_output.psd"
с PsdImage.load(исходныйФайл) как изображение:
psdImage = cast(PsdImage, изображение)
psdImage.has_transparency_data = False
psdOptions = PsdOptions(psdImage)
psdOptions.color_mode = ColorModes.CMYK
psdOptions.compression_method = CompressionMethod.RLE
psdOptions.channels_count = 4
psdImage.save(выходнойФайл, psdOptions)
с PsdImage.load(выходнойФайл) как изображение:
psdImage = cast(PsdImage, изображение)
утверждать not psdImage.has_transparency_data
утверждать psdImage.layers[0].channels_count == 4
def утверждатьСовпадают(ожидаемое, фактическое, сообщение=None):
если ожидаемое != фактическое:
возбудить Исключение(message or "Объекты не равны.")
def утверждатьСовпадают(ожидаемое, фактическое, сообщение=None):
если ожидаемое != фактическое:
возбудить Исключение(message or "Объекты не равны.")
PSDPYTHON-53. Определенный файл PSD не может быть экспортирован с использованием Aspose.PSD
исходныйФайл = "1966source.psd"
выходнойPng = "output.png"
loadOpt = PsdLoadOptions()
loadOpt.load_effects_resource = True
с PsdImage.load(исходныйФайл, loadOpt) как psdImage:
psdImage.save(выходнойPng, ПараметрыPng())