[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-imaging
Subject:    [Kde-imaging] Manipulating image data from within a KIPI plugin
From:       aurelien.gateau () free ! fr (=?iso-8859-15?q?Aur=E9lien=20G=E2teau?=)
Date:       2004-05-14 13:59:43
Message-ID: 200405141356.53141.aurelien.gateau () free ! fr
[Download RAW message or body]

Le Vendredi 14 Mai 2004 13:39, Jesper K. Pedersen a ?crit :
> On Friday 14 May 2004 10:04, Aur?lien G?teau wrote:
> | Hello,
> |
> | One user of Gwenview wanted to implement hot-pixel removing in Gwenview.
> | I told him it would be nice to write this as a KIPI plugin, but he would
> | like (and I agree with him) to work directly on the image data rather
> | than on an image file.
> | This made me think we should add a way for the host app to let the plugin
> | access the image data. I imagine something like this:
> |
> | class Interface {
> |   QImage& image();
> |
> |   // Dirty property used by the plugin to let the host app knows it
> |   // modified the image data
> |   void setImageDirty();
> |   bool isImageDirty() const;
> | }
> |
> | The only problem I see is that I'm not sure every app uses QImage to
> | store the loaded image. What do you think about this?
>
> I do agree that it would be a good idea to have a way to tell the host
> application that an image was changed, but I think it would be better
> simply to let the client load the image itself.
>
> Maybe we could add utility methods for downloading and uploading the image,
> if that is the problem.

I think you misunderstood me. I was thinking about plugins similar to GIMP 
filters: plugins which would alter the image data loaded by an host app. The 
host app would load the image in a QImage and let the plugin access it 
through the Interface::image() method. Whenever the plugin modifies the 
image, it calls Interface::setImageDirty() so that the host app can refresh 
its display. This will let you implement sharpen, blur or other nifty image 
fx as plugins.

Aur?lien

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic