zmc
2023-12-22 9fdbf60165db0400c2e8e6be2dc6e88138ac719a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
U
T±d'1ãJ@sz    dZddddddddd    dd
d d d d dd    dd dd d dd    d    dd d d dd    d    d    dd d dd    d    d    d    dd dd    d    d    d    d    ddd    d    d    d    d    d    d    d    d    d    d    d    d    d    g@dddd dd    d    d    dddd dd    d    d    dddddd    d    d    d d dd d    d    d    d    dddd    d    d    d    d    d    d    d    d    d    d    d    d    d    d    d    d    d    d    d    d    d    d    d    d    d    d    d    d    g@gdœdddddd ddddddddd d dddddd ddd dddd dd!d d"d dd ddd#d"d"dd dd!d#d"d"d"dd dd d"d"d"d"ddd d"d"d"d"d"g@d$dd$dddd d%dd&d
d$ddddd$d
dd'dddd dd$d'dddd d"dddddd%d"d"ddddd%d(d"d"d ddd d"d"d"d"d%dd d"d"d"d"d"g@gdœd)d*d+d+d*d,dddd+d-d-d*d.d/ddd+d-d-d*d/dd0d&d*d*d*dddd&dd,d.d/ddddddd/ddddddddd0d&ddddddd&dddddg@d1d1ddddddd1dddddddddd$dddddddddddddddddddddddddddddddddddddddddddddg@gdœd)ddddd2d+d-d*ddddd2d+d-d*ddddd+d-d1d,dddd+d-d1d,dd2d2d+d-d.d/ddd+d+d-d1d/dddd-d-d1d,ddddd*d*d,dddddg@d2d2d-d,ddddd2d+d*dd0dddd-d*d,d0ddddd,dd0ddddddd0ddddddddddddddddddddddddddddddg@gdœd)d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3dd3d3d3d3d3d3ddd3d3d3d3d3ddd2d3d3d3d3ddd2d2d3d3d3ddd2d2d2d3d3ddd2d2d2d2g@d3d3d3ddd2d2d2d3d3d3dd2d2d2d2d3d3d3d2d2d2d2d2ddd2d2d2d2d2d2dd2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2g@gdœdd
d0d0dddd4d$d0ddd&dd ddd0dd$dd ddddd&dd ddddddd ddddddd ddddddd4dddddddd$dddddddg@dd&d'dddd$d$d&dd d0d0dddd'd d0d0dddddd0d0ddddddd0ddddddddddddddd$dddddddd$dddddddg@gdœddd.d.dd$ddd$d.d,d,ddd&ddd.d,d/dd&dddddddddddd$dd&ddddddd&ddddddddddddddd$dddddddg@ddddddd$d$dd0d0d0d0ddddd0d0d0dddddd0d0ddddddd0ddddddddddddddd$dddddddd$dddddddg@gdœd)d*d+d+d*d,dddd+d-d-d*d.d/ddd+d-d-d*d/dddd*d*d*dddddd,d.d/ddddddd/ddddddddddddddddddddddg@d1d1ddddd$d$d1ddd0d0dddddd0d0dddddd0d0ddddddd0ddddddddddddddd$dddddddd$dddddddg@gdœd)ddddd2d+d-d*ddddd2d+d-d*ddddd+d-d1d,dddd+d-d1d,dd2d2d+d-d.d/ddd+d+d-d1d/dddd-d-d1d,ddddd*d*d,dddddg@d2d2d-d,ddddd2d+d*d/d0dddd-d*d,d0ddddd,d/d0ddddddd0ddddddddddddddddddddddddddddddg@gdœd5œ    Zd6S)7u
JPEG quality settings equivalent to the Photoshop settings.
Can be used when saving JPEG files.
 
The following presets are available by default:
``web_low``, ``web_medium``, ``web_high``, ``web_very_high``, ``web_maximum``,
``low``, ``medium``, ``high``, ``maximum``.
More presets can be added to the :py:data:`presets` dict if needed.
 
To apply the preset, specify::
 
  quality="preset_name"
 
To apply only the quantization table::
 
  qtables="preset_name"
 
To apply only the subsampling setting::
 
  subsampling="preset_name"
 
Example::
 
  im.save("image_name.jpg", quality="web_high")
 
Subsampling
-----------
 
Subsampling is the practice of encoding images by implementing less resolution
for chroma information than for luma information.
(ref.: https://en.wikipedia.org/wiki/Chroma_subsampling)
 
Possible subsampling values are 0, 1 and 2 that correspond to 4:4:4, 4:2:2 and
4:2:0.
 
You can get the subsampling of a JPEG with the
:func:`.JpegImagePlugin.get_sampling` function.
 
In JPEG compressed data a JPEG marker is used instead of an EXIF tag.
(ref.: https://exiv2.org/tags.html)
 
 
Quantization tables
-------------------
 
They are values use by the DCT (Discrete cosine transform) to remove
*unnecessary* information from the image (the lossy part of the compression).
(ref.: https://en.wikipedia.org/wiki/Quantization_matrix#Quantization_matrices,
https://en.wikipedia.org/wiki/JPEG#Quantization)
 
You can get the quantization tables of a JPEG with::
 
  im.quantization
 
This will return a dict with a number of lists. You can pass this dict
directly as the qtables argument when saving a JPEG.
 
The quantization table format in presets is a list with sublists. These formats
are interchangeable.
 
Libjpeg ref.:
https://web.archive.org/web/20120328125543/http://www.jpegcameras.com/libjpeg/libjpeg-3.html
 
ééééé'é2é.é>éDééé&é5éAééé é6ééé+éB)Z subsamplingZ quantizationé ééé éé éé#é/é%é@é3éé0ééé?éééé    ééé
ééééé")    Zweb_lowZ
web_mediumZweb_highZ web_very_highZ web_maximumÚlowZmediumÚhighÚmaximumN)Ú__doc__Zpresets©r8r8úFd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\PIL/JpegPresets.pyÚ<module>sbCùù÷ÿùù÷ÿùù÷ÿùù÷ÿùù÷ÿùù÷ÿùù÷ÿùù÷ÿùù÷ÿ€ç