DisplayCAL—Display Calibration and Characterization powered by ... https://displaycal.
net/#quickstart
2 von 64 24.11.2022, 10:58
DisplayCAL—Display Calibration and Characterization powered by ... https://displaycal.net/#quickstart
3 von 64 24.11.2022, 10:58
DisplayCAL—Display Calibration and Characterization powered by ... https://displaycal.net/#quickstart
4 von 64 24.11.2022, 10:58
DisplayCAL—Display Calibration and Characterization powered by ... https://displaycal.net/#quickstart
shasum -a 256 /Users/<Your Username>/Downloads/DisplayCAL-3.8.9.3.pkg
get-filehash -a sha256 C:\Users\<Your Username>\Downloads\DisplayCAL-3.8.9.3-
[Setup.exe|win32.zip]
sha256sum /home/<Your Username>/Downloads/DisplayCAL-3.8.9.3.tar.gz
shasum -a 256 /Users/<Your Username>/Downloads/DisplayCAL-3.8.9.3.tar.gz
get-filehash -a sha256 C:\Users\<Your Username>\Downloads\DisplayCAL-3.8.9.3.tar.gz
svn checkout svn://svn.code.sf.net/p/dispcalgui/code/trunk displaycal
5 von 64 24.11.2022, 10:58
DisplayCAL—Display Calibration and Characterization powered by ... https://displaycal.net/#quickstart
6 von 64 24.11.2022, 10:58
DisplayCAL—Display Calibration and Characterization powered by ... https://displaycal.net/#quickstart
7 von 64 24.11.2022, 10:58
DisplayCAL—Display Calibration and Characterization powered by ... https://displaycal.net/#quickstart
8 von 64 24.11.2022, 10:58
DisplayCAL—Display Calibration and Characterization powered by ... https://displaycal.net/#quickstart
sudo python util/ez_setup.py setuptools
9 von 64 24.11.2022, 10:58
DisplayCAL—Display Calibration and Characterization powered by ... https://displaycal.net/#quickstart
.pyw python2 DisplayCAL.pyw
python2 setup.py install python2 setup.py --help
python2 setup.py
python2 setup.py build_ext -i
10 von 64 24.11.2022, 10:58
DisplayCAL—Display Calibration and Characterization powered by ... https://displaycal.net/#quickstart
bcdedit /set loadoptions DDISABLE_INTEGRITY_CHECKS
bcdedit /set TESTSIGNING ON
11 von 64 24.11.2022, 10:58
DisplayCAL—Display Calibration and Characterization powered by ... https://displaycal.net/#quickstart
sudo python setup.py install
python setup.py --help python setup.py --help-commands
0install
appdata
bdist_appdmg
0install
bdist_pkg
bdist_deb
sudo rpmdb --initdb
12 von 64 24.11.2022, 10:58
DisplayCAL—Display Calibration and Characterization powered by ... https://displaycal.net/#quickstart
install_cmd = ('%s install -O1 --root=$RPM_BUILD_ROOT '
install_cmd = ('%s install --root=$RPM_BUILD_ROOT ' -O1
exit 0
bdist_pyi
bdist_standalone
bdist_standalone
/Library/Frameworks/Python.framework/Versions/Current/lib
sudo python util/ez_setup.py -Z setuptools
buildservice
sdist
finalize_msi
bdist_msi
inno
py2exe bdist_standalone
purge
build DisplayCAL.egg-info
purge_dist
dist
readme
uninstall
install
13 von 64 24.11.2022, 10:58
DisplayCAL—Display Calibration and Characterization powered by ... https://displaycal.net/#quickstart
--cfg=<name>
-n --dry-run
--skip-instrument-configuration-files
--skip-postinstall
--stability=stable | testing | developer | buggy | insecure
0install
--use-distutils
--use-setuptools
--use-setuptools
--use-distutils
14 von 64 24.11.2022, 10:58
DisplayCAL—Display Calibration and Characterization powered by ... https://displaycal.net/#quickstart
15 von 64 24.11.2022, 10:58
DisplayCAL—Display Calibration and Characterization powered by ... https://displaycal.net/#quickstart
.ccss
.cal .icc .icm
.cal
16 von 64 24.11.2022, 10:58
DisplayCAL—Display Calibration and Characterization powered by ... https://displaycal.net/#quickstart
17 von 64 24.11.2022, 10:58
DisplayCAL—Display Calibration and Characterization powered by ... https://displaycal.net/#quickstart
localhost 127.0.0.1
18 von 64 24.11.2022, 10:58
DisplayCAL—Display Calibration and Characterization powered by ... https://displaycal.net/#quickstart
19 von 64 24.11.2022, 10:58
DisplayCAL—Display Calibration and Characterization powered by ... https://displaycal.net/#quickstart
20 von 64 24.11.2022, 10:58
DisplayCAL—Display Calibration and Characterization powered by ... https://displaycal.net/#quickstart
21 von 64 24.11.2022, 10:58
DisplayCAL—Display Calibration and Characterization powered by ... https://displaycal.net/#quickstart
22 von 64 24.11.2022, 10:58
DisplayCAL—Display Calibration and Characterization powered by ... https://displaycal.net/#quickstart
23 von 64 24.11.2022, 10:58
DisplayCAL—Display Calibration and Characterization powered by ... https://displaycal.net/#quickstart
24 von 64 24.11.2022, 10:58
DisplayCAL—Display Calibration and Characterization powered by ... https://displaycal.net/#quickstart
25 von 64 24.11.2022, 10:58
DisplayCAL—Display Calibration and Characterization powered by ... https://displaycal.net/#quickstart
26 von 64 24.11.2022, 10:58
DisplayCAL—Display Calibration and Characterization powered by ... https://displaycal.net/#quickstart
27 von 64 24.11.2022, 10:58
DisplayCAL—Display Calibration and Characterization powered by ... https://displaycal.net/#quickstart
28 von 64 24.11.2022, 10:58
DisplayCAL—Display Calibration and Characterization powered by ... https://displaycal.net/#quickstart
29 von 64 24.11.2022, 10:58
DisplayCAL—Display Calibration and Characterization powered by ... https://displaycal.net/#quickstart
30 von 64 24.11.2022, 10:58
DisplayCAL—Display Calibration and Characterization powered by ... https://displaycal.net/#quickstart
31 von 64 24.11.2022, 10:58
DisplayCAL—Display Calibration and Characterization powered by ... https://displaycal.net/#quickstart
32 von 64 24.11.2022, 10:58
DisplayCAL—Display Calibration and Characterization powered by ... https://displaycal.net/#quickstart
33 von 64 24.11.2022, 10:58
DisplayCAL—Display Calibration and Characterization powered by ... https://displaycal.net/#quickstart
--oneshot
34 von 64 24.11.2022, 10:58
DisplayCAL—Display Calibration and Characterization powered by ... https://displaycal.net/#quickstart
35 von 64 24.11.2022, 10:58
DisplayCAL—Display Calibration and Characterization powered by ... https://displaycal.net/#quickstart
36 von 64 24.11.2022, 10:58
DisplayCAL—Display Calibration and Characterization powered by ... https://displaycal.net/#quickstart
37 von 64 24.11.2022, 10:58
DisplayCAL—Display Calibration and Characterization powered by ... https://displaycal.net/#quickstart
.3dl .cube
.txt .3dlut .mga .png
.png .fx .spi3d
38 von 64 24.11.2022, 10:58
DisplayCAL—Display Calibration and Characterization powered by ... https://displaycal.net/#quickstart
39 von 64 24.11.2022, 10:58
DisplayCAL—Display Calibration and Characterization powered by ... https://displaycal.net/#quickstart
40 von 64 24.11.2022, 10:58
DisplayCAL—Display Calibration and Characterization powered by ... https://displaycal.net/#quickstart
41 von 64 24.11.2022, 10:58
DisplayCAL—Display Calibration and Characterization powered by ... https://displaycal.net/#quickstart
42 von 64 24.11.2022, 10:58
DisplayCAL—Display Calibration and Characterization powered by ... https://displaycal.net/#quickstart
43 von 64 24.11.2022, 10:58
DisplayCAL—Display Calibration and Characterization powered by ... https://displaycal.net/#quickstart
.ti1
44 von 64 24.11.2022, 10:58
DisplayCAL—Display Calibration and Characterization powered by ... https://displaycal.net/#quickstart
45 von 64 24.11.2022, 10:58
DisplayCAL—Display Calibration and Characterization powered by ... https://displaycal.net/#quickstart
46 von 64 24.11.2022, 10:58
DisplayCAL—Display Calibration and Characterization powered by ... https://displaycal.net/#quickstart
47 von 64 24.11.2022, 10:58
DisplayCAL—Display Calibration and Characterization powered by ... https://displaycal.net/#quickstart
.ti3
48 von 64 24.11.2022, 10:58
DisplayCAL—Display Calibration and Characterization powered by ... https://displaycal.net/#quickstart
python util/change_display_profile_cal_whitepoint.py \
[-t temp | -T temp | -w x,y] [--cal-only] [inprofile] outfilename
-t temp
temp
-T temp
temp
-w x,y
--cal-only
inprofile
inprofile
outfilename
python -c "import sys; from DisplayCAL import util_win; \
util_win.calibration_management_isenabled() or \
util_win.enable_calibration_management() \
if '--os' in sys.argv[1:] else \
not util_win.calibration_management_isenabled() or \
util_win.disable_calibration_management();" [--os]
--os
49 von 64 24.11.2022, 10:58
DisplayCAL—Display Calibration and Characterization powered by ... https://displaycal.net/#quickstart
app.allow_network_clients = 1
15411 app.port
#!/usr/bin/env python2
import socket
class DCGScriptingClientSocket(socket.socket):
def __enter__(self):
return self
def __exit__(self, etype, value, tb):
# Disconnect
try:
# Will fail if the socket isn't connected, i.e. if there was an
# error during the call to connect()
self.shutdown(socket.SHUT_RDWR)
except socket.error:
pass
self.close()
def __init__(self):
socket.socket.__init__(self)
self.recv_buffer = ''
def get_single_response(self):
# Buffer received data until EOT (response end marker) and return
# single response (additional data will still be in the buffer)
while not '\4' in self.recv_buffer:
incoming = self.recv(4096)
if incoming == '':
raise socket.error("Connection broken")
self.recv_buffer += incoming
end = self.recv_buffer.find('\4')
single_response = self.recv_buffer[:end]
self.recv_buffer = self.recv_buffer[end + 1:]
50 von 64 24.11.2022, 10:58
DisplayCAL—Display Calibration and Characterization powered by ... https://displaycal.net/#quickstart
return single_response
def send_and_check(self, command, expected_response="ok"):
""" Send command, get & check response """
self.send_command(command)
single_response = self.get_single_response()
if single_response != expected_response:
# Check application state. If a modal dialog is displayed, choose
# the OK option. Note that this is just an example and normally you
# should be very careful with this, as it could mean confirming a
# potentially destructive operation (e.g. discarding current
# settings, overwriting existing files etc).
self.send_command('getstate')
state = self.get_single_response()
if 'Dialog' in state.split()[0]:
self.send_command('ok')
if self.get_single_response() == expected_response:
return
raise RuntimeError('%r got unexpected response: %r != %r' %
(command, single_response, expected_response))
def send_command(self, command):
# Automatically append newline (command end marker)
self.sendall(command + '\n')
# Generate a list of commands we want to execute in order
commands = []
# Load “Laptop” preset
commands.append('load presets/laptop.icc')
# Setup calibration & profiling measurements
commands.append('calibrate-profile')
# Start actual measurements
commands.append('measure')
# Create socket & send commands
with DCGScriptingClientSocket() as client:
client.settimeout(3) # Set a timeout of 3 seconds
# Open connection
client.connect(('127.0.0.1', 15411)) # Default port
for command in commands:
client.send_and_check(command)
51 von 64 24.11.2022, 10:58
DisplayCAL—Display Calibration and Characterization powered by ... https://displaycal.net/#quickstart
ok
busy blocked
failed
forbidden
invalid error
blocked
getstate
3DLUT-maker [create filename]
filename
abort
activate [window ID | name | label]
window
alt | cancel | ok [filename]
ok filename
calibrate
interact mainframe calibrate_btn
measure
calibrate-profile
measure
close [window ID | name | label]
window
52 von 64 24.11.2022, 10:58
DisplayCAL—Display Calibration and Characterization powered by ... https://displaycal.net/#quickstart
getstate
create-colorimeter-correction
create-profile [filename]
curve-viewer [filename]
filename
curve-viewer presets/photo.icc
DisplayCAL [filename]
filename
enable-spyder2
getactivewindow
classname ID name label state
state enabled disabled
getcellvalues [window ID | name | label] <grid ID | name | label>
grid window
getappname
getcfg [option]
option
getcommands
getdefault <option>
option
getdefaults
getmenus
ID "label" state state enabled disabled
getmenuitems [menuposition | label]
menuposition "menulabel" menuitemID
"menuitemlabel" state [checkable] [checked] state enabled disabled
53 von 64 24.11.2022, 10:58
DisplayCAL—Display Calibration and Characterization powered by ... https://displaycal.net/#quickstart
getstate
idle busy dialogclassname ID
dialogname [dialoglabel] state "messagetext" [path "path"]
[buttons "buttonlabel"...] blocked
blocked
blocked
getstate blocked
getuielement [window ID | name | label] <element ID | name | label>
getuielements [window ID | name | label]
window
classname ID name
["label"] state [checked] [value "value"] [items "item"...] classname
ID name "label"
interact state enabled disabled items "item"...
getvalid
ranges values ranges
ranges values
ranges values
getwindows
classname ID name label state
state enabled disabled
import-colorimeter-corrections [filename...]
install-profile [filename]
interact [window ID | name | label] <element ID | name | label> [setvalue value]
element window
invokemenu <menuposition | menulabel> <menuitemID | menuitemlabel>
54 von 64 24.11.2022, 10:58
DisplayCAL—Display Calibration and Characterization powered by ... https://displaycal.net/#quickstart
load <filename>
filename load presets/photo.icc
measure
measure-uniformity
measurement-report [filename]
filename
measure
profile
load linear.cal profile
measure
profile-info [filename]
filename
profile-info presets/photo.icc
refresh
setcfg restore-defaults
report-calibrated
measure
report-uncalibrated
measure
restore-defaults [category...]
category refresh
setlanguage <languagecode>
setcfg <option> <value>
option value null
refresh getdefaults getvalid
setresponseformat <format>
55 von 64 24.11.2022, 10:58
DisplayCAL—Display Calibration and Characterization powered by ... https://displaycal.net/#quickstart
plain
json json.pretty xml
xml.pretty *.pretty
synthprofile [filename]
filename
testchart-editor [filename | create filename]
filename
testchart-editor ti1/d3-e4-s17-g49-m5-b5-f0.ti1
verify-calibration
measure
interact [window] <button>
interact mainframe profile_name_info_btn
interact [window] <element> setvalue "value"
interact mainframe trc_textctrl setvalue 2.4
setcfg <option> <value>
refresh
interact [window] <grid> setvalue "row,col,value"
interact tcgen grid setvalue "0,1,33"
activate
alt | cancel | ok close interact invokemenu
getmenus getmenuitems getuielement
getuielements getwindows
setlanguage
56 von 64 24.11.2022, 10:58
DisplayCAL—Display Calibration and Characterization powered by ... https://displaycal.net/#quickstart
getstate
getstate
ok
getuielement
object
interact <elementname> setvalue <value>
setcfg <option> <value> load <filename>
restore-defaults
refresh
57 von 64 24.11.2022, 10:58
DisplayCAL—Display Calibration and Characterization powered by ... https://displaycal.net/#quickstart
58 von 64 24.11.2022, 10:58
DisplayCAL—Display Calibration and Characterization powered by ... https://displaycal.net/#quickstart
C:\Windows\system32\igfxtray.exe
C:\Windows\system32\igfxpph.dll
C:\Windows\system32\igfxpers.exe
59 von 64 24.11.2022, 10:58
DisplayCAL—Display Calibration and Characterization powered by ... https://displaycal.net/#quickstart
xattr -dr com.apple.quarantine /Applications/DisplayCAL/*.app
60 von 64 24.11.2022, 10:58
DisplayCAL—Display Calibration and Characterization powered by ... https://displaycal.net/#quickstart
61 von 64 24.11.2022, 10:58
DisplayCAL—Display Calibration and Characterization powered by ... https://displaycal.net/#quickstart
62 von 64 24.11.2022, 10:58
DisplayCAL—Display Calibration and Characterization powered by ... https://displaycal.net/#quickstart
iccgamut viewgam -i
.cal
楊添明 김환
柄鈞
63 von 64 24.11.2022, 10:58
DisplayCAL—Display Calibration and Characterization powered by ... https://displaycal.net/#quickstart
64 von 64 24.11.2022, 10:58