หน้านี้ประกอบด้วยบันทึกการอัพเดตสำหรับ Aspose.PSD for Python via .NET 24.5
Key | สรุป | หมวดหมู่ |
---|---|---|
PSDPYTHON-60 | [รูปแบบ AI] เพิ่มการสนับสนุนในการจัดการไฟล์ AI ที่มีหัวเรื่อง EPSF | คุณลักษณะ |
PSDPYTHON-59 | การซีมิโปรแปรนซี้ผิดพลาดในการดูตัวอย่างไฟล์ psd | ข้อผิดพลาด |
PSDPYTHON-61 | การแสดงผลของเลเยอร์รูปร่างบางส่วนไม่ถูกต้อง | ข้อผิดพลาด |
PSDPYTHON-62 | มีปัญหาเมื่อบันทึกไฟล์ PSD ด้วยขนาดมากกว่า 200 MB และมีขนาดใหญ่ | ข้อผิดพลาด |
PSDPYTHON-63 | ข้อยกเว้นของภาพไม่สามารถบันทึกเมื่อบันทึกเป็น PDF หลังจากอัพเดตจาก 23.7 เป็น 24.3 | ข้อผิดพลาด |
PSDPYTHON-64 | แก้ไขปัญหาในวิธีการในการรับข้อมูลเกี่ยวกับฟอนต์จีน | ข้อผิดพลาด |
การเปลี่ยนแปลง API สาธารณะ
API ที่เพิ่มเข้ามา:
- P:Aspose.PSD.ImageOptions.PsdOptions.BackgroundContents
- P:Aspose.PSD.FileFormats.Ai.AiLayerSection.HasMultiLayerMasks
- P:Aspose.PSD.FileFormats.Ai.AiLayerSection.ColorIndex
API ที่ถูกลบออก:
- ไม่มี
ตัวอย่างการใช้:
PSDPYTHON-59. การซีมิโปรแปรนซี้ผิดพลาดในการดูตัวอย่างไฟล์ psd
// การซีมิโปรแปรนซี้ผิดพลาดในการดูตัวอย่างไฟล์ psd
// BackgroundContents กำหนดให้เป็นสีขาว พื้นที่โปร่งใสควรมีสีขาว
sourceFile = "frog_nosymb.psd"
outputFile = "frog_nosymb_backgroundcontents_output.psd"
with PsdImage.load(sourceFile) as psdImage:
backgroundColor = RawColor(PixelDataFormat.rgb_32_bpp, 0)
argbValue = ctypes.c_int32(255 << 24 | 255 << 16 | 255 << 8 | 255).value
backgroundColor.set_as_int(argbValue) # สีขาว
psdOptions = PsdOptions(psdImage)
psdOptions.color_mode = ColorModes.RGB
psdOptions.compression_method = CompressionMethod.RLE
psdOptions.channels_count = 4
psdOptions.background_contents = backgroundColor
psdImage.save(outputFile, psdOptions)
PSDPYTHON-60. [รูปแบบ AI] เพิ่มการสนับสนุนในการจัดการไฟล์ AI ที่มีหัวเรื่อง EPSF
sourceFile = "example.ai"
outputFilePath = "example.png"
def assert_are_equal(expected, actual):
if expected != actual:
raise Exception("Objects are not equal.")
with AiImage.load(sourceFile) as img:
image = cast(AiImage, img)
assert_are_equal(len(image.layers), 2)
assert_are_equal(image.layers[0].has_multi_layer_masks, False)
assert_are_equal(image.layers[0].color_index, -1)
assert_are_equal(image.layers[1].has_multi_layer_masks, False)
assert_are_equal(image.layers[1].color_index, -1)
image.save(outputFilePath, PngOptions())
PSDPYTHON-61. การแสดงผลของเลเยอร์รูปร่างบางส่วนไม่ถูกต้อง
sourceFile = "ShapeLayerTest.psd"
outputFile = "ShapeLayerTest_output.psd"
with PsdImage.load(sourceFile) as image:
im = cast(PsdImage, image)
shapeLayer = cast(ShapeLayer, im.layers[2])
path = shapeLayer.path
pathShapes = path.get_items()
knotsList = []
for pathShape in pathShapes:
knots = pathShape.get_items()
knotsList.extend(knots)
newShape = PathShape()
bezierKnot1 = BezierKnotRecord()
bezierKnot1.is_linked=True
bezierKnot1.points=[
PointFToResourcePoint(PointF(100, 100), shapeLayer.container.size),
PointFToResourcePoint(PointF(100, 100), shapeLayer.container.size),
PointFToResourcePoint(PointF(100, 100), shapeLayer.container.size)
]
bezierKnot2 = BezierKnotRecord()
bezierKnot2.is_linked=True
bezierKnot2.points=[
PointFToResourcePoint(PointF(50, 490), shapeLayer.container.size),
PointFToResourcePoint(PointF(100, 490), shapeLayer.container.size),
PointFToResourcePoint(PointF(150, 490), shapeLayer.container.size)
]
bezierKnot3 = BezierKnotRecord()
bezierKnot3.is_linked=True
bezierKnot3.points=[
PointFToResourcePoint(PointF(490, 150), shapeLayer.container.size),
PointFToResourcePoint(PointF(490, 50), shapeLayer.container.size),
PointFToResourcePoint(PointF(490, 20), shapeLayer.container.size)
]
bezierKnots = [
bezierKnot1,
bezierKnot2,
bezierKnot3
]
newShape.set_items(bezierKnots)
newShapes = list(pathShapes)
newShapes.append(newShape)
pathShapeNew = newShapes
path.set_items(pathShapeNew)
shapeLayer.update()
im.save(outputFile, PsdOptions())
with PsdImage.load(outputFile) as image:
im = cast(PsdImage, image)
shapeLayer = cast(ShapeLayer, im.layers[2])
path = shapeLayer.path
pathShapes = path.get_items()
knotsList = []
for pathShape in pathShapes:
knots = pathShape.get_items()
knotsList.extend(knots)
assert len(pathShapes) == 3
assert shapeLayer.left == 42
assert shapeLayer.top == 14
assert shapeLayer.bounds.width == 1600
assert shapeLayer.bounds.height == 1086
PSDPYTHON-62. มีปัญหาเมื่อบันทึกไฟล์ PSD ด้วยขนาดมากกว่า 200 MB และมีขนาดใหญ่
sourceFile = "bigfile.psd"
outputFile = "output_raw.psd"
referenceFile = "output_raw.psd"
loadOptions = PsdLoadOptions()
loadOptions.load_effects_resource = True
loadOptions.use_disk_for_load_effects_resource = True
with PsdImage.load(sourceFile, loadOptions) as psdImage:
opt = PsdOptions()
opt.compression_method = CompressionMethod.RLE
psdImage.save(outputFile, opt)
PSDPYTHON-63. มีข้อยกเว้นเมื่อบันทึกภาพล้มเหลวเมื่อบันทึกเป็น PDF หลังจากอัพเดตจาก 23.7 เป็น 24.3
sourceFile = "CVFlor.psd"
outputFile = "_export.pdf"
with PsdImage.load(sourceFile) as psdImage:
saveOptions = PdfOptions()
saveOptions.pdf_core_options = PdfCoreOptions()
psdImage.save(outputFile, saveOptions)
PSDPYTHON-64. แก้ไขปัญหาในวิธีการในการรับข้อมูลเกี่ยวกับฟอนต์จีน
fontFolder = "Font"
sourceFile = "bd-worlds-best-pink.psd"
psdLoadOptions = PsdLoadOptions()
psdLoadOptions.load_effects_resource = True
psdLoadOptions.allow_warp_repaint = True
try:
FontSettings.set_fonts_folders([fontFolder], True)
FontSettings.update_fonts()
with PsdImage.load(sourceFile, psdLoadOptions) as img:
image = cast(PsdImage, img)
for layer in image.layers:
if is_assignable(layer, TextLayer):
textLayer = cast(TextLayer, layer)
if textLayer.text == "best":
# โดยไม่มีการแก้ไขที่นี่จะเกิดข้อยกเว้นเนื่องจากฟอนต์จีน
textLayer.update_text("SUCCESS")
finally:
FontSettings.reset()
FontSettings.update_fonts()