digiKam Developer Documentation: Digikam::IccManager Class Reference

| digiKam Developer Documentation Professional Photo Management with the Power of Open Source

Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
Digikam::IccManager Class Reference
Inheritance diagram for Digikam::IccManager:

## Public Member Functions
| IccManager (const DImg &image, const ICCSettingsContainer &settings=IccSettings::instance() ->settings())
| Constructs an IccManager object.
IccTransform | displaySoftProofingTransform (const IccProfile &deviceProfile, const IccProfile &displayProfile)
IccTransform | displaySoftProofingTransform (const IccProfile &deviceProfile, QWidget *const displayingWidget=nullptr)
| Returns a display transform, with soft-proofing enabled for the given device profile.
IccTransform | displayTransform (const IccProfile &displayProfile)
IccTransform | displayTransform (QWidget *const displayingWidget=nullptr)
bool | hasValidWorkspace () const
DImg | image () const
IccProfile | imageProfile (ICCSettingsContainer::Behavior behavior, const IccProfile &specifiedProfile=IccProfile())
| Returns the profile that will be used to interpret the image, using the given behavior.
bool | isMissingProfile () const
bool | isProfileMismatch () const
bool | isUncalibratedColor () const
DImgLoaderObserver * | observer () const
void | setObserver (DImgLoaderObserver *const observer)
ICCSettingsContainer | settings () const
void | transform (ICCSettingsContainer::Behavior behavior, const IccProfile &specifiedProfile=IccProfile())
| Same as above, but not using default settings but the given settings.
void | transformDefault ()
| Transforms the image for full editing, using default settings.
void | transformForDisplay ()
| Transforms the image for display on screen.
void | transformForDisplay (const IccProfile &displayProfile)
void | transformForDisplay (QWidget *const widget)
void | transformForOutput (const IccProfile &outputProfile)
| Transforms the image for output to the specified output profile.
void | transformToSRGB ()
| Transforms the image to sRGB.

## Static Public Member Functions
static IccProfile | displayProfile (QWidget *const displayingWidget=nullptr)
static bool | isSRGB (const DImg &img)
| Returns true if a call to transformToSRGB() would have an effect.
static bool | needsPostLoadingManagement (const DImg &img)
| Returns true if the given image is marked as needing user interaction for further color management decision after loading.
static void | transformForDisplay (QImage &qimage, const IccProfile &displayProfile1=displayProfile())
| Transforms the given QImage from sRGB to given display profile.
static void | transformToSRGB (QImage &qimage, const IccProfile &inputProfile)
| Transforms the given QImage from the given inputProfile to sRGB.

## Protected Member Functions
void | getTransform (IccTransform &trans, ICCSettingsContainer::Behavior behavior, const IccProfile &specifiedProfile)
ICCSettingsContainer::Behavior | safestBestBehavior () const
void | setIccProfile (const IccProfile &profile)

## Constructor & Destructor Documentation

## ◆ IccManager()

Digikam::IccManager::IccManager | ( | const DImg & | image,
|  | const ICCSettingsContainer & | settings = `IccSettings::instance()->settings()`
| ) |  |
| explicit

The DImg will be edited. The filePath is for display only.

## Member Function Documentation

## ◆ needsPostLoadingManagement()

bool Digikam::IccManager::needsPostLoadingManagement | ( | const DImg & | img | ) |
| static

If this returns true, use IccPostLoadingManager to do this.

## ◆ transformDefault()

void Digikam::IccManager::transformDefault | ( |  | ) |

If the default settings require showing a dialog, the image is marked as such but no action is taken. See IccPostLoadingManager.

## ◆ transformForDisplay()

void Digikam::IccManager::transformForDisplay | ( |  | ) |

The result is not suitable for editing or storage. You can specify the widget in which the image will be displayed, or specify the display profile yourself. You can retrieve the profile with displayProfile() and pass it to transformForDisplay() later (in a thread), or you can get a transform from displayTransform and apply it yourself.