Arithmetique.txt

(12 KB) Pobierz
Module Arithmetique
Copyright (c) 2003-2004 Benjamin FOURNIER
Version 2.2.3 multi-langues avec ic�ne
Langue originale : Anglais
Langues compl�mentaires : Fran�ais
Pour tout renseignement concernant ce plugin: pluginsphotofiltre@yahoo.fr

Traduction
==========

Si vous d�sirez traduire ce plugin dans une autre langue envoyez moi un e-mail � pluginsphotofiltre@yahoo.fr 

If you want to translate this plugin in another language please send me an e-mail to pluginsphotofiltre@yahoo.fr

Licence
=======

La licence de PhotoFiltre est applicable pour ce plugin (� l'exception du fait qu'il n'y a pas d'enregistrement sp�cifique pour ce plugin)

Description
===========

Module externe (plugin) pour PhotoFiltre
Copyright (c) 2001-2003 Antonio DA CRUZ 
Site Web : http://www.photofiltre.com
Permet d'effectuer de l'arithm�tique entre plusieurs images et/ou des couleurs

Installation
============

D�compressez le fichier 'Arithmetique.pfl' dans le dossier 'Plugins' de PhotoFiltre.
Red�marrez ensuite PhotoFiltre pour charger le module.

Utilisation
===========

Ce module est un module de type Outil
 il appara�t dans le menu Outils/Autre sous le nom Arithm�tique...

Ce module n'est disponible que si il y a au moins une image ouverte.

Il suffit d'�crire l'expression d�sir�e (par exemple (I1+I2)/2) en utilisant les op�rateurs, les fonctions, les couleurs et les images. Pour ins�r�r une image il suffit de double cliquer sur celle ci dans l'explorateur d'image situ� en bas de la fen�tre. Une fois l'expression �crite il est possible de cliquer sur Apercu pour voir le r�sultat. Une fois que l'on est satisfait du r�sultat, il suffit de cliquer sur OK pour g�n�rer la nouvelle image r�sultat.

Probl�me avec la syntaxe color�e
================================

Si vous rencontrez des probl�mes avec le plugin arithm�tique il y a de forte chance que cela soit du au contr�le permettant d'obtenir la syntaxe color�e. Il est possible de le d�sactiver en ajoutant la ligne suivante dans la section [Plugin Arithmetique] du fichier PhotoFiltre.ini :

[Plugin Arithmetique]
PasDeSyntaxe=1

Ecriture des expressions
========================

Toutes les op�rations peuvent �tre �crites en utilisant les boutons ou en tapant int�gralement au clavier.

Une expression se compose :
---------------------------

- d'images : elles sont indiqu�es dans l'expression sous la forme I<n> avec n compris entre 1 et le nombre d'images ouvertes. Le num�ro correspond � celui indiqu� dans l'explorateur d'images. Une image est ins�r�e en double cliquant dans l'explorateur d'image.

- de couleurs : elles sont indiqu�es dans l'expression sous la forme #RRVVBB en hexa d�cimal (�quivalent au code HTML d'une couleur). Une couleur peut �tre ins�r�e en cliquant sur le bouton color�. 

- de nombre entiers : ils sont obligatoirement tap�s au clavier et doivent �tre compris en -2147483647 et +2147483647 (pr�cision 32 bits sign�)

- des 4 op�rateurs usuels : + - * / Comme dans une expression arithm�tique classique, la multiplication et la division sont prioritaires sur l'addition et la soustraction. La division par 0 n'est pas consid�r�e comme une erreur mais les bornes infinies sont utilis�es de la mani�re suivante :

si n > 0 : n / 0 vaut +2147483647
si n < 0 : n / 0 vaut -2147483647
si n = 0 : n / 0 vaut 0

- de l'op�rateur exposant : ^ qui permet d'obtenir le carr�, le cube etc.

- du modulo : mod qui permet d'obtenir le reste de la division enti�re

- des 6 op�rateurs de tests : = <> < > <= >=

  Ils sont surtout utiles avec la fonction If mais peuvent �tre utilis�s tels quel. Les op�rateurs renvoient 255 (blanc) lorsque la condition est vraie et 0 (noir) sinon.

- des fonctions logiques ou binaires : and or xor not

  Ils sont surtout utiles avec la fonction If mais peuvent �tre utilis�s tels quel.

- de parenth�ses : comme dans une expression arithm�tique classique elles permettent de forcer la priorit� des op�rateurs.

- de commentaires mono ligne avec //

- autres fonctions :

Max(x1,..,xn) : Prend le maximum des argument pour chacune des composante RVB

Par exemple :
-------------

Max(#FF0000,#00FF00,#0000FF) donne #FFFFFF


Min(x1,...,yn) : Prend le minimum des argument pour chacune des composante RVB

Par exemple :
-------------

Min(#00FFFF,#FF00FF,#FFFF00) donne #000000


MaxLum(x1,...,yn) : Prend la couleur la plus lumineuse

Par exemple :
-------------

MaxLum(#FF0000,#80FF00) donne #80FF00


MinLum(x1,...,yn) : Prend la couleur la moins lumineuse

Par exemple :
-------------

MinLum(#FF0000,#80FF00) donne #FF0000

Avg(x1,...,yn) <=> (x1+...+yn)/n

AvgRGB(x) : Renvoie la moyenne des 3 composantes RVB cela permet de transformer une image couleur en niveaux de gris

Lum(x) : Renvoie la luminance des 3 composantes RVB avec la formule 0.299R + 0.587G + 0.114B

RGB2HSL(x) : Converti une couleur RGB en son �quivalent HSL

HSL2RGB(x) : Converti une couleur HSL en son �quivalent RGB

RGB2YUV(x): Converti une couleur RGB en son �quivalent YUV

YUV2RGB(x): Converti une couleur YUV en son �quivalent RGB

R(x): Renvoi la composante rouge

G(x): Renvoi la composante verte

B(x): Renvoi la composante bleue

Abs(x): Renvoi la valeur absolue utile pour comparer des images

Root(x[,n]): Renvoi la racine n i�me de x. Si n n'est pas pr�cis� il s'agit de la racine carr�e.

If(<condition>,<vrai>,<faux>) : Cette fonction permet de faire des tests conditionnels sur les points des images.

Par exemple :
-------------

If(I1>I2,#FF0000,#00FF00) donne une image rouge et verte o� les points rouges repr�sentent les points de I1 qui sont plus lumineux que ceux de I2 et o� les points verts repr�sentents les points de I1 qui sont moins lumineux (ou aussi lumineux) que ceux de I2.

X(x): Renvoi les coordonn�e en X de l'image cela permet de faire des d�grad�s horizontaux

Y(x): Renvoi les coordonn�e en Y de l'image cela permet de faire des d�grad�s verticaux

W(x): Renvoi la taille horizontale de l'image (utile pour inverser un d�grad� horizontal)

H(x): Renvoi la taille verticale de l'image (utile pour inverser un d�grad� vertical)

Stretch(x, y): Redimensionne l'image x � la taille de l'image y

BStretch(x, y): Identique � Stretch mais avec filtrage bilin�aire.

Tile(x, y): Redimensionne l'image x � la taille de l'image y en recopiant l'image autant de fois que n�cessaire pour atteindre cette taille.

Scroll(x, dx, dy): Permet de d�caler l'image d'un certains nombre de pixels... Ce qui disparait d'un cot� r�apparait de l'autre
                   dx indique le d�calage horizontal (n�gatif = � gauche, positif = � droite)
                   dy indique le d�calage vertical (n�gatif = en haut, positif = en bas)
                   A noter que le d�calage n'est pas obligatoirement le m�me pour tous les points ou les composantes de l'images.
                  
Par exemple :
-------------

Scroll(I1,W(I1)/2,H(I1)/2): D�cale l'image de fa�on � inverser les 4 coins

Scroll(I1,Y(I1),0): D�calage progressif des ligne (la premiere n'est pas d�cal�e, la derni�re de la hauteur de l'image - 1)

Scroll(I1,-X(I1),-Y(I1)): Division de la taille de l'image par 2 et extension de type motif                   

AlphaBlend(x, y, masque, max): AlphaBlending entre l'image x et l'image y en utilisant le masque et en pr�cisant le maximum afin d'inverser le masque.

Par exemple :
-------------

AlphaBlend(I1,I2,X(I1),W(I1))

Permet de r�aliser un fondu artistique entre l'image I1 et l'image I2

- de variables :

Les variables permettent de d�composer une expression complexe en plusieurs parties. Cela permet �galement d'�viter d'effectuer une m�me op�ration plusieurs fois ce qui permet �galement d'acc�l�rer les temps de traitements.

Une variable est un identificateur commencant obligatoirement par une lettre ou le caract�re '_'. Les chiffres peuvent �tre utilis�s � partir du deuxi�me caract�res.

D�claration d'une variable :
----------------------------

<Nom de la variable>:<Expression>;

Utilisation d'une variable :
----------------------------

<Nom de la variable>

Permutation des images
======================

Le drag & drop est disponible sur la liste d'image ce qui permet de r�ordonner les images (ce qui peut �tre plus pratique que de changer les In dans l'expression)

Le drag & drop utilise le bouton droit de la souris.

Informations diverses
=====================

Toutes les op�rations sur les images sont r�alis�es avec des entiers 32 bits pour chacune des composantes RVB. Les op�rations sont appliqu�es individuellement sur chacune des 3 composantes.

Un nombre entier est consid�r� comme une couleur o� toutes les composantes sont identiques (niveau de gris). Par exemple le nombre entier 10 est �quivalent � la couleur #0A0A0A.

Lorsque une op�ration porte sur 2 images de tailles diff�rentes les images sont redimensionn�es vers la plus grande taille possible au fur et � mesure de l'�valuation de l'expression.

Lorsque une erreur est d�tect�e dans l'expression un message d'erreur explicite indique la partie de l'expression qui est mal plac�e (ou token inattendu) ainsi que la liste des possibilit�s (ou token possibles) � cet endroit de l'expression. Le curseur est plac� apr�s la partie de l'expression erron�e.

Les espaces, les tabulations et les sauts de lignes peuvent �tre utilis�s pour s�parer les �l�ments de l'expression (Exemple: I1 + I2)

Exemples d'expressions
======================

On suppose que 3 images sont ouvertes :

- Moyenne des 2 premi�res images :

(I1+I2)/2

ou

Avg(I1,I2)

- Extraire une composante de la premi�re image :

* Rouge :

I1*#010000 ou bien I1 and #FF0000

* Vert :

I1*#000100 ou bien I1 and #00FF00

* Bleu :

I1*#000001 ou bien I1 and #0000FF

- S...
Zgłoś jeśli naruszono regulamin