aspose.info
DA

PSD - Photoshop billedfilformat

Opdateret

Hvad er en PSD fil?

PSD, Photoshop Document, repræsenterer Adobe Photoshops oprindelige filformat, der bruges til grafisk design og udvikling. PSD-filer kan omfatte billedlag, justeringslag, lagmasker, annoteringer, filoplysninger, nøgleord og andre Photoshop-specifikke elementer. Photoshop-filer har standardudvidelsen som .PSD og har en maksimal højde og bredde på 30.000 pixels og en længdegrænse på to gigabyte.

PSD-filformatspecifikationer

Data i en PSD-fil gemmes i big endian byte-rækkefølge. Dette indebærer udskiftning af de korte og lange heltal, når du læser eller skriver på Windows-platformen. Photoshop-filformatet er opdelt i fem hoveddele. Den har mange længdemarkører, der kan bruges til at flytte fra den ene sektion til den næste. Længdemarkørerne er normalt polstret med bytes for at afrunde til nærmeste 2 eller 4 byte interval. De fem hoveddele er:

  • Filoverskrift

  • Farvetilstandsdata

  • Billedressourcer

  • Information om lag og maske

  • Billeddata

Af hensyn til overensstemmelsen bør data skrives til alle disse felter i sektionen, da Photoshop kan forsøge at læse hele sektionen. Det indebærer også, at der skrives nuller til overspringede felter, mens der skrives til en fil. Længdefeltet i de længdeafgrænsede sektioner skal bruges til at beslutte, hvornår læsningen skal stoppes. I de fleste tilfælde angiver længdefeltet antallet af bytes, ikke poster, der følger. Følgende punkter skal huskes, mens du læser en fil.

  • Værdierne i kolonnen “Længde” i alle tabeller er i bytes.

  • Alle værdier defineret som Unicode-streng består af:

  • Et felt med en længde på 4 bytes, der repræsenterer antallet af tegn i strengen (ikke bytes).

  • Strengen af Unicode-værdier, to bytes pr. tegn.

Filoverskrift

Filhovedet indeholder de grundlæggende egenskaber for billedet.

LængdeBeskrivelse
4Signatur: altid lig med ‘8BPS’ . Forsøg ikke at læse filen, hvis signaturen ikke matcher denne værdi.
2Version: always equal to 1. Forsøg ikke at læse filen, hvis versionen ikke matcher denne værdi. (*PSB~~* version er 2.)
6Reserveret: skal være nul.
2Antallet af kanaler i billedet, inklusive eventuelle alfakanaler. Understøttet område er 1 til 56.
4Billedets højde i pixels. Understøttet område er 1 til 30.000.
4Billedets bredde i pixels. Understøttet område er 1 til 30.000.
2Dybde: antallet af bits pr. kanal. Understøttede værdier er 1, 8, 16 og 32.
2Filens farvetilstand. Understøttede værdier er: Bitmap # 0; Gråtoner # 1; Indekseret # 2; RGB # 3; CMYK # 4; Multikanal # 7; Duotone # 8; Lab #9.

Farvetilstand Data Sektion

Farvetilstandsdatasektionen er struktureret som følger:

LængdeBeskrivelse
4Længden af følgende farvedata
variabelFarvedataene

Farvetilstandsdata er kun tilgængelige for indekserede farver og duotone som defineret af tilstandsfeltet i afsnittet Filoverskrift. For alle andre tilstande er denne sektion repræsenteret af 4-byte nulstillede værdier. For indekserede farvebilleder er længden 768, og farvedataene indeholder farvetabellen for billedet i ikke-sammenflettet rækkefølge. For Duotone-billeder indeholder farvedata duotone-specifikationen (hvis formatet ikke er dokumenteret). Andre programmer, der læser Photoshop-filer, kan behandle et duotone-billede som et gråt billede og blot bevare indholdet af duotone-informationen, når du læser og skriver filen.

Billedressourcesektion

Den tredje sektion af filen indeholder billedressourcer. Det starter med et længdefelt efterfulgt af en række ressourceblokke.

LængdeBeskrivelse
4Længde af billedressourceafsnit. Længden kan være nul.
VariabelBilledressourcer (Billedressourceblokke)

Billedressourcer bruges til at gemme ikke-pixeldata, der er forbundet med billeder, såsom stier til penneværktøjer. De omtales som ressourceblokke, fordi de indeholder data, der blev gemt i Macintosh’ens ressource i tidlige versioner af Photoshop. Den grundlæggende struktur af billedressourceblokke er som vist nedenfor:

LængdeBeskrivelse
4Signatur: ‘8BIM
2Unik identifikator for ressourcen. Billedressource-id’er indeholder en liste over ressource-id’er, der bruges af Photoshop.
VariabelNavn: Pascal-streng, polstret for at gøre størrelsen lige (et null-navn består af to bytes på 0)
4Faktisk størrelse af ressourcedata, der følger
VariabelRessourcedataene, beskrevet i afsnittene om de enkelte ressourcetyper. Den er polstret for at gøre størrelsen ens.

Billedressourcer bruger flere standard-id-numre.

Lag- og maskeoplysninger

Den fjerde sektion af en Photoshop-fil indeholder oplysninger om lag og masker såsom antal lag, kanaler i lagene, blandingsområder, justeringslagstaster, effektlag og maskeparametre. Hvis der ikke er nogen lag eller masker, er denne sektion repræsenteret af nulstillet 4-byte felt. Der skal lægges særlig vægt på længden af afsnit, mens du læser dette afsnit på grund af de nulstillede værdier. Arrangementet af Layer and Mask sektionen er som følger:

LængdeBeskrivelse
4Længde af lag- og maskeinformationssektionen. (PSB-længde er 8 bytes.)
VariabelLaag info
VariabelGlobal lagmaskeinfo
VariabelSerie af taggede blokke, der indeholder forskellige typer data.

Laginfo

Følgende tabel viser organiseringen af laginformationen på højt niveau.

LængdeBeskrivelse
4Length of the layers info section, rounded up to a multiple of 2. (PSB-længde er 8 bytes.)
2Antal lag. Hvis det er et negativt tal, er dets absolutte værdi antallet af lag, og den første alfakanal indeholder gennemsigtighedsdataene for det flettede resultat.
VariabelOplysninger om hvert lag. Se Lagposter beskriver strukturen af disse oplysninger for hvert lag.
VariabelKanalbilleddata. Indeholder en eller flere billeddataposter for hvert lag. Lagene er i samme rækkefølge som i laginformationen

Billeddata

Billedpixeldataene er indeholdt i billeddataafsnittet i filen. Arrangement af data i billeddatasektionen er i plan rækkefølge, dvs. først alle de røde data, derefter alle de grønne data osv. Hvert plan er lagret i scan-line rækkefølge, uden pad bytes. Billeddatasektionen er arrangeret i et format som vist i følgende tabel.

LængdeBeskrivelse
2Compression method: *0 = Raw image data * 1 = RLE komprimeret billeddataene starter med bytetællingerne for alle scanningslinjerne (rækker * kanaler), med hver optælling gemt som en to-byte værdi. De RLE-komprimerede data følger, med hver scanningslinje komprimeret separat. RLE-komprimeringen er den samme kompressionsalgoritme, der bruges af Macintosh ROM-rutinen PackBits og TIFF-standarden. *2 = ZIP uden forudsigelse *3 = ZIP med forudsigelse.
VariabelBilleddataene. Planar orden = RRR GGG BBB osv.

Referencer

Se også