digiKam
|
Static Public Member Functions | |
static IccProfile | displayProfile (QWidget *const displayingWidget=nullptr) |
static bool | isSRGB (const DImg &img) |
static bool | needsPostLoadingManagement (const DImg &img) |
static void | transformForDisplay (QImage &qimage, const IccProfile &displayProfile1=displayProfile()) |
static void | transformToSRGB (QImage &qimage, const IccProfile &inputProfile) |
Protected Member Functions | |
void | getTransform (IccTransform &trans, ICCSettingsContainer::Behavior behavior, const IccProfile &specifiedProfile) |
ICCSettingsContainer::Behavior | safestBestBehavior () const |
void | setIccProfile (const IccProfile &profile) |
|
explicit |
Constructs an IccManager object. The DImg will be edited. The filePath is for display only.
References image(), and settings().
Digikam::IccManager::~IccManager | ( | ) |
|
static |
References Digikam::IccSettings::instance(), Digikam::IccSettings::monitorProfile(), Digikam::IccProfile::open(), and Digikam::IccProfile::sRGB().
Referenced by Digikam::CameraThumbsCtrl::CameraThumbsCtrl(), Digikam::PreviewLoadThread::createLoadingDescription(), displaySoftProofingTransform(), displayTransform(), Digikam::ThumbnailLoadThread::setDisplayingWidget(), and transformForDisplay().
IccTransform Digikam::IccManager::displaySoftProofingTransform | ( | const IccProfile & | deviceProfile, |
const IccProfile & | displayProfile | ||
) |
References displayProfile(), displayTransform(), and transform().
IccTransform Digikam::IccManager::displaySoftProofingTransform | ( | const IccProfile & | deviceProfile, |
QWidget *const | displayingWidget = nullptr |
||
) |
Returns a display transform, with soft-proofing enabled for the given device profile.
References displayProfile().
Referenced by Digikam::EditorCore::convertToPixmap(), Digikam::ImageIface::paint(), Digikam::ImagePreviewItem::paint(), and Digikam::ImageRegionItem::paint().
IccTransform Digikam::IccManager::displayTransform | ( | const IccProfile & | displayProfile | ) |
References Digikam::ICCSettingsContainer::AskUser, displayProfile(), imageProfile(), isMissingProfile(), Digikam::IccProfile::isSameProfileAs(), isUncalibratedColor(), Digikam::ICCSettingsContainer::SafestBestAction, safestBestBehavior(), Digikam::IccTransform::setInputProfile(), Digikam::IccTransform::setIntent(), Digikam::IccTransform::setOutputProfile(), and Digikam::IccTransform::setUseBlackPointCompensation().
IccTransform Digikam::IccManager::displayTransform | ( | QWidget *const | displayingWidget = nullptr | ) |
|
protected |
References Digikam::ICCSettingsContainer::ConvertToWorkspace, imageProfile(), Digikam::IccProfile::isNull(), Digikam::ICCSettingsContainer::LeaveFileUntagged, setIccProfile(), Digikam::IccTransform::setInputProfile(), Digikam::IccTransform::setIntent(), Digikam::IccTransform::setOutputProfile(), and Digikam::IccTransform::setUseBlackPointCompensation().
Referenced by Digikam::IccPostLoadingManager::postLoadingManage(), and transform().
bool Digikam::IccManager::hasValidWorkspace | ( | ) | const |
Referenced by Digikam::EditorWindow::colorManage().
DImg Digikam::IccManager::image | ( | ) | const |
Referenced by IccManager(), isSRGB(), and Digikam::IccPostLoadingManager::postLoadingManage().
IccProfile Digikam::IccManager::imageProfile | ( | ICCSettingsContainer::Behavior | behavior, |
const IccProfile & | specifiedProfile = IccProfile() |
||
) |
Returns the profile that will be used to interpret the image, using the given behavior
References Digikam::ICCSettingsContainer::AutomaticColors, Digikam::ICCSettingsContainer::DoNotInterpret, Digikam::IccProfile::sRGB(), Digikam::ICCSettingsContainer::UseDefaultInputProfile, Digikam::ICCSettingsContainer::UseEmbeddedProfile, Digikam::ICCSettingsContainer::UseSpecifiedProfile, Digikam::ICCSettingsContainer::UseSRGB, and Digikam::ICCSettingsContainer::UseWorkspace.
Referenced by displayTransform(), and getTransform().
bool Digikam::IccManager::isMissingProfile | ( | ) | const |
Referenced by displayTransform(), safestBestBehavior(), transform(), transformDefault(), transformForOutput(), and transformToSRGB().
bool Digikam::IccManager::isProfileMismatch | ( | ) | const |
Referenced by safestBestBehavior(), transform(), and transformDefault().
|
static |
Returns true if a call to transformToSRGB() would have an effect.
References Digikam::DImg::getIccProfile(), image(), Digikam::IccSettings::instance(), Digikam::IccSettings::isEnabled(), Digikam::DImg::isNull(), Digikam::IccProfile::isNull(), Digikam::IccProfile::isSameProfileAs(), and Digikam::IccProfile::sRGB().
Referenced by Digikam::DImg::prepareMetadataToSave().
bool Digikam::IccManager::isUncalibratedColor | ( | ) | const |
|
static |
Returns true if the given image is marked as needing user interaction for further color management decision after loading. If this returns true, use IccPostLoadingManager to do this.
References Digikam::DImg::hasAttribute().
Referenced by Digikam::EditorWindow::colorManage().
DImgLoaderObserver * Digikam::IccManager::observer | ( | ) | const |
Referenced by setObserver().
|
protected |
References Digikam::ICCSettingsContainer::EmbeddedToWorkspace, Digikam::ICCSettingsContainer::InputToWorkspace, isMissingProfile(), isProfileMismatch(), isUncalibratedColor(), Digikam::ICCSettingsContainer::KeepProfile, Digikam::ICCSettingsContainer::PreserveEmbeddedProfile, and Digikam::ICCSettingsContainer::UseSRGB.
Referenced by displayTransform(), and transform().
|
protected |
Referenced by getTransform(), transform(), transformForDisplay(), transformForOutput(), and transformToSRGB().
void Digikam::IccManager::setObserver | ( | DImgLoaderObserver *const | observer | ) |
References observer().
ICCSettingsContainer Digikam::IccManager::settings | ( | ) | const |
Referenced by IccManager().
void Digikam::IccManager::transform | ( | ICCSettingsContainer::Behavior | behavior, |
const IccProfile & | specifiedProfile = IccProfile() |
||
) |
Same as above, but not using default settings but the given settings.
References Digikam::IccTransform::apply(), Digikam::ICCSettingsContainer::AskUser, getTransform(), isMissingProfile(), isProfileMismatch(), isUncalibratedColor(), Digikam::IccTransform::outputProfile(), Digikam::ICCSettingsContainer::SafestBestAction, safestBestBehavior(), setIccProfile(), and Digikam::IccTransform::willHaveEffect().
Referenced by displaySoftProofingTransform(), and transformDefault().
void Digikam::IccManager::transformDefault | ( | ) |
Transforms the image for full editing, using default settings. If the default settings require showing a dialog, the image is marked as such but no action is taken. See IccPostLoadingManager.
References isMissingProfile(), isProfileMismatch(), isUncalibratedColor(), and transform().
Referenced by Digikam::SharedLoadingTask::postProcess().
void Digikam::IccManager::transformForDisplay | ( | ) |
Transforms the image for display on screen. 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.
References displayProfile().
Referenced by Digikam::SharedLoadingTask::postProcess(), Digikam::ThumbnailLoadingTask::postProcess(), and transformForDisplay().
void Digikam::IccManager::transformForDisplay | ( | const IccProfile & | displayProfile | ) |
|
static |
Transforms the given QImage from sRGB to given display profile.
References Digikam::IccTransform::apply(), Digikam::IccProfile::isNull(), Digikam::IccProfile::isSameProfileAs(), Digikam::IccTransform::Perceptual, Digikam::IccTransform::setInputProfile(), Digikam::IccTransform::setIntent(), Digikam::IccTransform::setOutputProfile(), and Digikam::IccProfile::sRGB().
void Digikam::IccManager::transformForDisplay | ( | QWidget *const | widget | ) |
References displayProfile(), and transformForDisplay().
void Digikam::IccManager::transformForOutput | ( | const IccProfile & | outputProfile | ) |
Transforms the image for output to the specified output profile
References Digikam::IccTransform::apply(), isMissingProfile(), Digikam::IccProfile::isNull(), isUncalibratedColor(), Digikam::IccTransform::outputProfile(), setIccProfile(), Digikam::IccTransform::setInputProfile(), Digikam::IccTransform::setIntent(), Digikam::IccTransform::setOutputProfile(), Digikam::IccTransform::setUseBlackPointCompensation(), and Digikam::IccProfile::sRGB().
Referenced by Digikam::SharedLoadingTask::postProcess().
void Digikam::IccManager::transformToSRGB | ( | ) |
Transforms the image to sRGB
References Digikam::IccTransform::apply(), isMissingProfile(), isUncalibratedColor(), Digikam::IccTransform::outputProfile(), setIccProfile(), Digikam::IccTransform::setInputProfile(), Digikam::IccTransform::setIntent(), Digikam::IccTransform::setOutputProfile(), Digikam::IccTransform::setUseBlackPointCompensation(), and Digikam::IccProfile::sRGB().
Referenced by Digikam::SharedLoadingTask::postProcess(), and Digikam::DImg::prepareMetadataToSave().
|
static |
Transforms the given QImage from the given inputProfile to sRGB.
References Digikam::IccTransform::apply(), Digikam::IccProfile::isNull(), Digikam::IccProfile::isSameProfileAs(), Digikam::IccTransform::Perceptual, Digikam::IccTransform::setInputProfile(), Digikam::IccTransform::setIntent(), Digikam::IccTransform::setOutputProfile(), and Digikam::IccProfile::sRGB().