SDK - Ecrire son propre plugin

Questions générales en Français

Moderators: XnTriq, xnview

Post Reply
hoibywan

SDK - Ecrire son propre plugin

Post by hoibywan »

Bonjour,

J'ai besoin de me developper un petit plugin.
J'ai reussi difficilement à en faire un à partir du fichier "PluginsSDK-win.zip"
car je n'ai pas trouvé la doc (j'ai du par exemple renommer mon .dll en .usr)

Visiblement ce kit est assez vieux car les nouveaux plugins semblent utiliser les fonctions "gffGetFormatInfo" et "gffGetPluginInfo" à la place de gfpGetPluginInfo, gfpLoadPictureGetInfo, ....

Où peut-on trouver ce nouveau kit ainsi que sa doc ?

Ce dont j'aurais besoin aussi c'est de pouvoir activer les options "Compose image with transparency" et "Compose image with alpha (32bits)"
comme avec les .PNG

PS: Y a-t-il d'ailleurs un moyen pour que la transparence de PNG ne soit pas le blanc, mais la couleur du fond (par ex la couleur de fond des thumbnails), ou même un damier comme dans photoshop ?
User avatar
xnview
Author of XnView
Posts: 34704
Joined: Mon Oct 13, 2003 7:31 am
Location: France
Contact:

Re: SDK - Ecrire son propre plugin

Post by xnview »

hoibywan wrote:Bonjour,

J'ai besoin de me developper un petit plugin.
J'ai reussi difficilement à en faire un à partir du fichier "PluginsSDK-win.zip"
car je n'ai pas trouvé la doc (j'ai du par exemple renommer mon .dll en .usr)

Visiblement ce kit est assez vieux car les nouveaux plugins semblent utiliser les fonctions "gffGetFormatInfo" et "gffGetPluginInfo" à la place de gfpGetPluginInfo, gfpLoadPictureGetInfo, ....

Où peut-on trouver ce nouveau kit ainsi que sa doc ?

Ce dont j'aurais besoin aussi c'est de pouvoir activer les options "Compose image with transparency" et "Compose image with alpha (32bits)"
comme avec les .PNG
Non, ceci est le bon SDK. Les autres plugins sont internes et utilisent d'autres fonctions...
PS: Y a-t-il d'ailleurs un moyen pour que la transparence de PNG ne soit pas le blanc, mais la couleur du fond (par ex la couleur de fond des thumbnails), ou même un damier comme dans photoshop ?
PNG 32bits?
Pierre.
Guest

Re: SDK - Ecrire son propre plugin

Post by Guest »

xnview wrote:
hoibywan wrote:Bonjour,

J'ai besoin de me developper un petit plugin.
J'ai reussi difficilement à en faire un à partir du fichier "PluginsSDK-win.zip"
car je n'ai pas trouvé la doc (j'ai du par exemple renommer mon .dll en .usr)

Visiblement ce kit est assez vieux car les nouveaux plugins semblent utiliser les fonctions "gffGetFormatInfo" et "gffGetPluginInfo" à la place de gfpGetPluginInfo, gfpLoadPictureGetInfo, ....

Où peut-on trouver ce nouveau kit ainsi que sa doc ?

Ce dont j'aurais besoin aussi c'est de pouvoir activer les options "Compose image with transparency" et "Compose image with alpha (32bits)"
comme avec les .PNG
Non, ceci est le bon SDK. Les autres plugins sont internes et utilisent d'autres fonctions...
Ah ok. Mais où puis-je trouver la doc (il y a qu'un exemple dans le .zip)
PS: Y a-t-il d'ailleurs un moyen pour que la transparence de PNG ne soit pas le blanc, mais la couleur du fond (par ex la couleur de fond des thumbnails), ou même un damier comme dans photoshop ?
PNG 32bits?
En fait je n'ai jamais trouvé un outil qui m'affiche correctement les images avec de la transparence (color key ou alpha).
J'aimerais qu'il soit possible de choisir quoi affiche comme fond. (avec xnview c'est toujours du blanc)
Par exemple avec AcdSee ça donne ça :
Image
Avec XnView c'est un peu mieux ça donne ça :
Image
Par contre ont aura toujours un pb avec les images transparentes blanches:
Image
Pour moi l'idéal serait que cela utilise la couleur que l'on a choisit comme fond pour les thumbnail :
Image

Je me suis ecrit un petit plugin qui lit les extensions (.ZMG) un format à moi. Pour ce faire le plugin le fichier xnview.ini je récupère la valeur de "ThumbnailColor" et compose l'image avec cette couleur.
Ca donne ça :
Image
Par contre ça marchera pas dans la préview si le fond est différent de celui des thumbnails ni dans le fullscreen, puisqu'à l'appel de 'gfpLoadPictureGetInfo' je ne sais pas pour quel cadre est destiné l'image.

C'est pour ça que je demandais s'il était possible d'entendre la fonctionnalité "Compose image with transparency" et "Compose image with alpha (32bits)" à d'autres extensions que le .PNG
Par exemple en renvoyant
*pictype = GFP_RGB;

Code: Select all

*pictype = GFP_ARGB; 
au lieu de

Code: Select all

*pictype = GFP_RGB; 
et en envoyant des pixels 32bits avec alpha.

-----

Autre point, je veux faire ce que j'ai fait pour les .ZMG avec des .PNG par exemple, en ecrivant un autre plugin. Qui prendra la main ? Le plugin interne ou le mien ?

-----

Dernière question, pourquoi l'extension XnViewShellExt.dll ne prend-elle pas en compte les paramètres "Compose image with transparency" et "Compose image with alpha (32bits)", ni les plugins custom ?
Un bouton-droit sur un .ZMG n'affiche rien par exemple

------

Merci bcp de lire ce mail un peu long. :)
User avatar
xnview
Author of XnView
Posts: 34704
Joined: Mon Oct 13, 2003 7:31 am
Location: France
Contact:

Re: SDK - Ecrire son propre plugin

Post by xnview »

Anonymous wrote:
xnview wrote:
hoibywan wrote:Bonjour,

J'ai besoin de me developper un petit plugin.
J'ai reussi difficilement à en faire un à partir du fichier "PluginsSDK-win.zip"
car je n'ai pas trouvé la doc (j'ai du par exemple renommer mon .dll en .usr)

Visiblement ce kit est assez vieux car les nouveaux plugins semblent utiliser les fonctions "gffGetFormatInfo" et "gffGetPluginInfo" à la place de gfpGetPluginInfo, gfpLoadPictureGetInfo, ....

Où peut-on trouver ce nouveau kit ainsi que sa doc ?

Ce dont j'aurais besoin aussi c'est de pouvoir activer les options "Compose image with transparency" et "Compose image with alpha (32bits)"
comme avec les .PNG
Non, ceci est le bon SDK. Les autres plugins sont internes et utilisent d'autres fonctions...
Ah ok. Mais où puis-je trouver la doc (il y a qu'un exemple dans le .zip)
Qu'avez vous besoin comme info?
PS: Y a-t-il d'ailleurs un moyen pour que la transparence de PNG ne soit pas le blanc, mais la couleur du fond (par ex la couleur de fond des thumbnails), ou même un damier comme dans photoshop ?
PNG 32bits?
En fait je n'ai jamais trouvé un outil qui m'affiche correctement les images avec de la transparence (color key ou alpha).
J'aimerais qu'il soit possible de choisir quoi affiche comme fond. (avec xnview c'est toujours du blanc)
Par exemple avec AcdSee ça donne ça :
Image
Avec XnView c'est un peu mieux ça donne ça :
Image
Par contre ont aura toujours un pb avec les images transparentes blanches:
Image
Pour moi l'idéal serait que cela utilise la couleur que l'on a choisit comme fond pour les thumbnail :
Image

Je me suis ecrit un petit plugin qui lit les extensions (.ZMG) un format à moi. Pour ce faire le plugin le fichier xnview.ini je récupère la valeur de "ThumbnailColor" et compose l'image avec cette couleur.
Ca donne ça :
Image
Par contre ça marchera pas dans la préview si le fond est différent de celui des thumbnails ni dans le fullscreen, puisqu'à l'appel de 'gfpLoadPictureGetInfo' je ne sais pas pour quel cadre est destiné l'image.

C'est pour ça que je demandais s'il était possible d'entendre la fonctionnalité "Compose image with transparency" et "Compose image with alpha (32bits)" à d'autres extensions que le .PNG
Par exemple en renvoyant
*pictype = GFP_RGB;

Code: Select all

*pictype = GFP_ARGB; 
au lieu de

Code: Select all

*pictype = GFP_RGB; 
et en envoyant des pixels 32bits avec alpha.
Effectivement les icones sont toujours sur fond blanc
Autre point, je veux faire ce que j'ai fait pour les .ZMG avec des .PNG par exemple, en ecrivant un autre plugin. Qui prendra la main ? Le plugin interne ou le mien ?
Le mien est prioritaire :-(
Dernière question, pourquoi l'extension XnViewShellExt.dll ne prend-elle pas en compte les paramètres "Compose image with transparency" et "Compose image with alpha (32bits)", ni les plugins custom ?
Un bouton-droit sur un .ZMG n'affiche rien par exemple
Pour pas surcharger cette extension, ces options seraient utiles?
Pierre.
User avatar
hoibywan
Posts: 5
Joined: Wed Feb 22, 2006 3:04 pm
Location: Paris
Contact:

Re: SDK - Ecrire son propre plugin

Post by hoibywan »

xnview wrote: Qu'avez vous besoin comme info?
J'ai pas trop compris le fonctionnement des colormap mais bon, je me débrouillerai.
xnview wrote: Effectivement les icones sont toujours sur fond blanc
Ah.
Visiblement ma proposition n'a pas l'air de vous emballer :|
xnview wrote: Le mien est prioritaire :-(
Ben là je suis un peu bloqué alors.
En fait j'espérais bien pouvoir me débrouiller tout seul en écrivant mon propre plugin .PNG.
C'est peut-être trop demander, mais en insistant un peu il n'y a pas moyen que vous inversiez les priorités (priorité aux plugins externe) ?
ça serait vraiment très gentil :mrgreen:
xnview wrote: Pour pas surcharger cette extension, ces options seraient utiles?
Disons que pour l'instant j'utilise Picaview, mais il n'affiche pas correctement les PNG (surtout ceux avec canal alpha). Ca serait un plus pour moi c'est sûr, mais c'est vraiment pas vital, car d'après ce qui j'ai cru comprendre je devrais assez vite pouvoir me réécrire ma propre "shell extension" à partir de GFL SDK, c'est bien cela ?
User avatar
xnview
Author of XnView
Posts: 34704
Joined: Mon Oct 13, 2003 7:31 am
Location: France
Contact:

Re: SDK - Ecrire son propre plugin

Post by xnview »

hoibywan wrote:
xnview wrote: Effectivement les icones sont toujours sur fond blanc
Ah.
Visiblement ma proposition n'a pas l'air de vous emballer :|
Je dois rajouter l'utilisation de la transparence pour les png et autres dans l'explorateur...
xnview wrote: Le mien est prioritaire :-(
Ben là je suis un peu bloqué alors.
En fait j'espérais bien pouvoir me débrouiller tout seul en écrivant mon propre plugin .PNG.
C'est peut-être trop demander, mais en insistant un peu il n'y a pas moyen que vous inversiez les priorités (priorité aux plugins externe) ?
ça serait vraiment très gentil :mrgreen:
[/quote]
Pour le moment ceci n'est pas possible :-(
xnview wrote: Pour pas surcharger cette extension, ces options seraient utiles?
Disons que pour l'instant j'utilise Picaview, mais il n'affiche pas correctement les PNG (surtout ceux avec canal alpha). Ca serait un plus pour moi c'est sûr, mais c'est vraiment pas vital, car d'après ce qui j'ai cru comprendre je devrais assez vite pouvoir me réécrire ma propre "shell extension" à partir de GFL SDK, c'est bien cela ?
Oui d'ailleurs, la 1ere extension shell dispo ecrite pas un utilisateur etait sur GFLSDK
Pierre.
Post Reply