[Digikam-devel] extragear/graphics/digikam

Gilles Caulier caulier.gilles at free.fr
Wed Dec 14 14:17:04 GMT 2005


Le Mercredi 14 Décembre 2005 13:56, Boudewijn Rempt a écrit :
> Camera profiles are a different issue, and one I hadn't realized existed
> until I started working on our RAW importer.

I had an advanced question about image loader technics for you...

In digikam, i would fork to a dedicaced thread all loading/saving image files 
process. Actually, loading and saving an image is done to the GUI thread. 
This way froze the GUI and do not give any progress informations.

This problem exist also in krita i think...

I have identified 2 methods to do it :

1/ Using a KIOSlave (prefered) : This is the most powerfull method but not 
trivail solution because data will be shared between digikam and kioslave 
using a simpe bytes array. An image in digikam is not a simple pixels array 
but a complex class instance (DImg) including pixels, metada, ICC profiles, 
properties, etc... 

2/ Using a children thread using QThread. This is complex to do because file 
descriptors are shared between GUI thread and loader thead. image loader 
methods must be tradesafe too (this is not the case actually). This will 
complex and long to finalize. Nota : this method is used by Kimdaba, Gwenview 
and showimg to load images using QImage. but digiKam do not use QImage to 
load/save image by a dedicaced API named DImg...  

Please fix me if something is wrong. Any viewpoints welcome (:=)))

Gilles



More information about the Digikam-devel mailing list