Notatki wydania Aspose.PSD dla Python via .NET 24.4
Contents
[
Hide
]
Ta strona zawiera notatki wydania dla Aspose.PSD dla Python via .NET 24.4
Klucz | Podsumowanie | Kategoria |
---|---|---|
PSDPYTHON-50 | [Format AI] Dodanie obsługi zasobów XObjectForm | Funkcja |
PSDPYTHON-51 | Dodanie konstruktora dla warstwy kształtu | Funkcja |
PSDPYTHON-52 | Naprawa konwersji pliku PSD z RGB na CMYK | Błąd |
PSDPYTHON-53 | Określony plik PSD nie może być eksportowany za pomocą Aspose.PSD | Błąd |
Zmiany w API publicznym
Dodane API:
- M:Aspose.PSD.FileFormats.Psd.PsdImage.AddShapeLayer
Usunięte API:
- Brak
Przykłady użycia:
PSDPYTHON-50. [Format AI] Dodanie obsługi zasobów XObjectForm
nazwaPlikuŹródłowego = "przykład.ai"
ścieżkaWyjściowa = "przykład_wyjście.png"
with AiImage.load(nazwaPlikuŹródłowego) as obraz:
obraz.save(ścieżkaWyjściowa, PngOptions())
PSDPYTHON-51. Dodanie konstruktora dla warstwy kształtu
def sprawdź KonstruktorWarstwyKształtu():
plikWyjściowy = "DodajWarstwęKształtu_wyjście.psd"
with PsdImage(600, 400) as nowyPsd:
warstwaKształtu = nowyPsd.add_shape_layer()
nowyKształt = generuj_nowy_kształt(nowyPsd.size)
noweKształty = [nowyKształt]
warstwaKształtu.path.set_items(noweKształty)
warstwaKształtu.update()
nowyPsd.save(plikWyjściowy)
with PsdImage.load(plikWyjściowy) as obraz:
obrazek = cast(PsdImage, obraz)
assert len(obrazek.layers) == 2
warstwaKształtu = cast(ShapeLayer, obrazek.layers[1])
wewnętrzneWypełnienie = warstwaKształtu.fill
ustawieniaKonturu = warstwaKształtu.stroke
wypełnienieKonturu = warstwaKształtu.stroke.fill
assert len(warstwaKształtu.path.get_items()) == 1
assert len(warstwaKształtu.path.get_items()[0].get_items()) == 3
assert wewnętrzneWypełnienie.color.to_argb() == -16127182
assert ustawieniaKonturu.size == 7.41
assert not ustawieniaKonturu.enabled
assert ustawieniaKonturu.line_alignment == StrokePosition.CENTER
assert ustawieniaKonturu.line_cap == LineCapType.BUTT_CAP
assert ustawieniaKonturu.line_join == LineJoinType.MITER_JOIN
assert wypełnienieKonturu.color.to_argb() == -16777216
def generuj_nowy_kształt(rozmiarObrazu):
nowyKształt = PathShape()
punkt1 = PointF(20, 100)
punkt2 = PointF(200, 100)
punkt3 = PointF(300, 10)
węzeł1 = BezierKnotRecord()
węzeł1.is_linked = True
węzeł1.points = [
PointFNaPunktZasobu(punkt1, rozmiarObrazu),
PointFNaPunktZasobu(punkt1, rozmiarObrazu),
PointFNaPunktZasobu(punkt1, rozmiarObrazu)
]
węzeł2 = BezierKnotRecord()
węzeł2.is_linked = True
węzeł2.points = [
PointFNaPunktZasobu(punkt2, rozmiarObrazu),
PointFNaPunktZasobu(punkt2, rozmiarObrazu),
PointFNaPunktZasobu(punkt2, rozmiarObrazu)
]
węzeł3 = BezierKnotRecord()
węzeł3.is_linked = True
węzeł3.points = [
PointFNaPunktZasobu(punkt3, rozmiarObrazu),
PointFNaPunktZasobu(punkt3, rozmiarObrazu),
PointFNaPunktZasobu(punkt3, rozmiarObrazu)
]
węzłyBeziere = [
węzeł1,
węzeł2,
węzeł3
]
nowyKształt.set_items(węzłyBeziere)
return nowyKształt
def PointFNaPunktZasobu(punkt, rozmiarObrazu):
StosunekImgDoPsd = 256 * 65535
return Point(
int(round(punkt.y * (StosunekImgDoPsd / rozmiarObrazu.height))),
int(round(punkt.x * (StosunekImgDoPsd / rozmiarObrazu.width)))
)
def sprawdź_czy_równe(oczekiwany, rzeczywisty, komunikat=None):
if oczekiwany != rzeczywisty:
raise Exception(komunikat or "Obiekty nie są równe.")
PSDPYTHON-52. Naprawa konwersji pliku PSD z RGB na CMYK
def sprawdźKonwersjęZRgbNaCmyk():
plikŹródłowy = "frog_nosymb.psd"
plikWyjściowy = "frog_nosymb_wyjście.psd"
with PsdImage.load(plikŹródłowy) as obraz:
psdObraz = cast(PsdImage, obraz)
psdObraz.has_transparency_data = False
opcjePsd = PsdOptions(psdObraz)
opcjePsd.color_mode = ColorModes.CMYK
opcjePsd.compression_method = CompressionMethod.RLE
opcjePsd.channels_count = 4
psdObraz.save(plikWyjściowy, opcjePsd)
with PsdImage.load(plikWyjściowy) as obraz:
psdObraz = cast(PsdImage, obraz)
assert not psdObraz.has_transparency_data
assert psdObraz.layers[0].channels_count == 4
def sprawdź_czy_równe(oczekiwany, rzeczywisty, komunikat=None):
if oczekiwany != rzeczywisty:
raise Exception(komunikat or "Obiekty nie są równe.")
def sprawdź_czy_równe(oczekiwany, rzeczywisty, komunikat=None):
if oczekiwany != rzeczywisty:
raise Exception(komunikat or "Obiekty nie są równe.")
PSDPYTHON-53. Określony plik PSD nie może być eksportowany za pomocą Aspose.PSD
plikŹródłowy = "1966źródło.psd"
wyjściePng = "wyjście.png"
opcjeŁadowania = PsdLoadOptions()
opcjeŁadowania.load_effects_resource = True
with PsdImage.load(plikŹródłowy, opcjeŁadowania) as psdObraz:
psdObraz.save(wyjściePng, PngOptions())