1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
U
T±dÍ ã@s„dZddlmZmZmZmZddlmZdZdd„Z    dd    „Z
d
d „Z d d „Z dd„Z e    e
e e e gZGdd„dƒZGdd„deƒZdS)z·
Stuff to translate curve segments to palette values (derived from
the corresponding code in GIMP, written by Federico Mena Quintero.
See the GIMP distribution for more information.)
é)ÚlogÚpiÚsinÚsqrté)Úo8g»½×Ùß|Û=cCsR||kr"|tkrdSd||Sn,||}d|}|tkr>dSdd||SdS)Ngçà?çð?)ÚEPSILON©ZmiddleÚpos©r úKd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\PIL/GimpGradientFile.pyÚlinearsrcCs|tdƒtt|tƒƒS)Nr)rÚmaxr
r r r rÚcurved.srcCs$tt dtt||ƒƒddS)Ng@r    )rrrr r r rÚsine2srcCstdt||ƒddƒS©Nr    é©rrr r r rÚsphere_increasing6srcCsdtdt||ƒdƒSrrr r r rÚsphere_decreasing:src@seZdZdZddd„ZdS)Ú GradientFileNécCslg}d}|j|\}}}}}}    t|ƒD]4}
|
|d} || kr`|d7}|j|\}}}}}}    q8||} | tkr||    ddƒ} n|    ||| | || ƒ} ttd|d|d| |ddƒƒ}ttd|d|d| |ddƒƒ}ttd|d|d| |ddƒƒ}ttd|d|d| |ddƒƒ}| ||||¡q&d |¡dfS)    NrrréÿréóZRGBA)ÚgradientÚranger
rÚintÚappendÚjoin)ÚselfÚentriesZpaletteÚixÚx0Úx1ÚxmÚrgb0Úrgb1ÚsegmentÚiÚxÚwZscaleÚrÚgÚbÚar r rÚ
getpaletteEs$  ,,,,zGradientFile.getpalette)r)Ú__name__Ú
__module__Ú __qualname__rr2r r r rrBsrc@seZdZdZdd„ZdS)ÚGimpGradientFilez(File handler for GIMP's gradient format.c    Csü| ¡dd…dkr d}t|ƒ‚| ¡}| d¡r>| ¡ ¡}t|ƒ}g}t|ƒD]ž}| ¡ ¡}dd„|dd…Dƒ}|d|d    }    }
|d
} |d d …} |d d…} tt|dƒ}t|d ƒ}|dkrÚd}t|ƒ‚|     |    |
| | | |f¡qR||_
dS)Né s GIMP Gradientznot a GIMP gradient filesName: cSsg|] }t|ƒ‘qSr )Úfloat)Ú.0r,r r rÚ
<listcomp>ysz-GimpGradientFile.__init__.<locals>.<listcomp>é rrrréé zcannot handle HSV colour space) ÚreadlineÚ SyntaxErrorÚ
startswithÚstriprrÚsplitÚSEGMENTSÚOSErrorr r)r"ÚfpÚmsgÚlineÚcountrr+Úsr-r%r&r'r(r)r*Zcspacer r rÚ__init__hs,
      zGimpGradientFile.__init__N)r3r4r5Ú__doc__rJr r r rr6esr6N)rKÚmathrrrrÚ_binaryrr
rrrrrrCrr6r r r rÚ<module>s #