blob: 62271d98eb40050d91e4af32f3c71b45a59c46eb (
plain) (
tree)
|
|
# -*- python -*-
# This example uses free function modifier and temporary
# curve linearisation to make the colour curves logarithmic.
# Copyright © 2014 Mattias Andrée (maandree@member.fsf.org)
#
# Permission is granted to copy, distribute and/or modify this document
# under the terms of the GNU Free Documentation License, Version 1.3
# or any later version published by the Free Software Foundation;
# with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
# You should have received a copy of the GNU General Public License
# along with this software package. If not, see <http://www.gnu.org/licenses/>.
import math
# Use linear RGB.
linearise()
# Make the curves logarithmic. The function applies
# to the red (first argument) and green (second
# argument) colour curves. `...` is used to use the
# same value as the argument before it. `None`,
# which is used for the blue colour curve, means
# that no adjustment is made, which is the same
# thing as using `lambda x : x`.
manipulate(lambda x : math.log(x + 1, 2), ..., None)
# Switch back to sRGB.
standardise()
# Alternatively you can use `cie_manipulate` instead
# of `manipulate`. To to the logaritmisation in the
# CIE xyY colour space. If doing so, do not use
# `linearise`–`standardise`.
# Apply settings, using vidmode.
(drm if ttymode else vidmode)()
#(drm if ttymode else randr)()
|