summaryrefslogtreecommitdiffstats
path: root/chalk/doc/profiles.txt
diff options
context:
space:
mode:
Diffstat (limited to 'chalk/doc/profiles.txt')
-rw-r--r--chalk/doc/profiles.txt125
1 files changed, 125 insertions, 0 deletions
diff --git a/chalk/doc/profiles.txt b/chalk/doc/profiles.txt
new file mode 100644
index 00000000..c1841d52
--- /dev/null
+++ b/chalk/doc/profiles.txt
@@ -0,0 +1,125 @@
+* Using littlecms for professional colourmanagement.
+
+
+Profiles are applied to image data on import, paste, copy, display and
+printing to calibrate for particular ways in which image data can
+be presented or created. Profiles are associated with a certain
+color space and with a device class.
+
+* The following profiles are available in Chalk:
+
+Image profile The image profile is the default profile
+ for the default color space for the layers
+ in Chalk
+
+Layer profile Chalk images can have layers of different
+ color spaces, so each layer can have a
+ different profile, too.
+
+Display profile When converting the visible part of
+ an image for displaying on the users monitor,
+ a monitor calibration profile can be applied
+ to adjust for display idiosyncrasies.
+
+Import profile On importing an image from disk that does
+ not have a profile embedded (XXX: embedded
+ profiles aren't recoginized yet), a screenshot
+ or a scan, the import profile is attached
+ to the image.
+
+Output profile On printing, a profile can be applied to the
+ image to compensate for the printer
+ idiosyncrasies. XXX: Printing doesn't work
+ yet at all, and printing is big task that
+ should be part of KDE. We should simply
+ convert an image to a tiff file with embedded
+ profile, and send that to a system printer.
+
+
+* At the following points we need to handle profiles:
+
+
+File import Chalk uses ImageMagick to import files.
+ ImageMagick knows about embedded profiles and
+ makes them available in memory. We need to
+ hack our IM builder to convert the in-memory
+ profile blob to a profile handle.
+
+
+File export Chalk uses ImageMagick to export files.
+ Here we need to do the reverse trick; take
+ a profile handle and get IM to save it with
+ the file.
+
+Paste from clipboard Two cases: Chalk has placed a clip on the
+ clipboard, or another application has placed
+ a clip on the clipboard. Clips are wrapped
+ in the KisClip class that can be created with
+ a profile. That can be the profile of the
+ image Chalk copied the clip from, or the
+ copy profile set in the Settings, or none.
+
+ An external clip is always RGB8 (for now, no
+ doubt Qt will extend its clipboard once RGB16
+ images or RGB half images become widespread),
+ so in those cases we always need an RGB
+ profile.
+
+ Paste from external applications is handled by
+ the constructor from KisPaintDevice,
+ internally it might entail a mode conversion.
+
+Copy to clipboard If another application consumes a clip Chalk
+ has put on the clipboard it can receive the
+ data as-is, or with a profile applied.
+
+ Paste is handled by KisPaintDevice::convertToQImage.
+
+Display on monitor For calibrated displays. This is handled
+ by KisPaintDevice::convertToQImage()
+
+Image mode conversion A user can either choose to convert an
+ existing layer or image to another color
+ model/profile/bit depth or the conversion can
+ happen automatically, for instance when
+ painting when the color of a pixel is
+ converted from KoColor to the color in the
+ color model.
+
+ This is handled by
+ KisStrategyColorSpace:convertTo().
+
+File loading Chalk's own file format now has a field for
+ the product name of a profile. We need also to
+ be able to embed the entire profile into a
+ Chalk file. That should be easy, since a Chalk
+ file is just a zipfile.
+
+File saving When loading a Chalk file format image we
+ should also be able to load embedded profiles.
+
+
+* Chalk should have a few extra features that are easy to implement
+ once I a) know what they mean, technically and b) the foregoing is
+ completed. These are:
+
+Softproofing Showing the image on the monitor with profiles
+ for printing applied, too.
+
+Out-of-gamut warnign Colours that cannot be printed are shown in
+ some hideous colour.
+
+Blackpoint compenstion No idea about this...
+
+8-bit image dither No idea.
+
+... lcms offers more stuff that I don't know
+ anything about but which might be interesting.
+
+
+* External factors play a role. We need a free display calibration
+ tool for X11, a printing system that takes this stuff into account
+ and all the rest. That's not part of Chalk, but it needs to be done
+ some time. XXX: Ask the KGamma developers about this?
+
+