|
Maîtrise de l'interface FXBuilder
La fenêtre FXBuilder dispose de deux onglets : Entrée de texte FXBuilder et Contrôles
d'entrée FXBuilder. Entrée de texte vous sert à rentrer le code et Contrôles d'entrée à tester
votre script sur la vidéo source. FXBuilder dispose en outre des menus qui vous permettent
d'exécuter diverses fonctions rapidement.
m Entrée de texte FX Builder : cliquez sur cet onglet pour revisionner, entrer et modifier le
code script.
m Contrôles d'entrée FXBuilder : cliquez sur cet onglet pour tester votre script sur une
vidéo source. Certains scripts nécessitent votre intervention pour pouvoir s'exécuter. Par
exemple, si vous testez un script destiné à ajouter une teinte, vous devez en spécifier la
couleur. Vous devez également définir les contrôles d'entrée d'un script lors de
l'application de celui-ci à un clip situé dans la Chronologie d'une séquence.
1334 Chapitre 31
m Commandes de menu de FXBuilder : Le menu FXBuilder s'affiche près du menu Outils
dès l'activation d'une fenêtre FXBuilder. Ce menu vous permet d'insérer facilement des
termes de script, d'exécuter un script sur un échantillon de vidéo, ou bien d'enregistrer
votre script sous forme de fichier non modifiable.
Quand la fenêtre FXBuilder
est activée, un menu
s'affiche.
Utilisation des effets de Final Cut Pro
Final Cut Pro est doté de plusieurs effets vidéo modifiables via le code script. Vous pouvez
également utiliser ces effets comme points de départ pour vos propres scripts.
Vous pouvez accéder aux effets par l'onglet Effets du Navigateur ou via le menu Effets. Les
effets vidéo se divisent en plusieurs groupes :
m Transitions vidéo : modifient les images d'un clip par rapport à un autre.
m Filtres vidéo : modifient l'image d'un seul clip.
m Générateurs vidéo : créent de nouvelles informations vidéo, telles que du texte.
Utilisation de FXBuilder pour créer, tester et modifier les effets 1335
Création d'un nouveau script
L'environnement de FXBuilder vous permet de créer et de tester les scripts d'effets. Vous
pouvez soit ouvrir un script existant, soit ouvrir une nouvelle fenêtre FXBuilder et
commencer à créer un script en partant de zéro. Pour plus d'informations sur la structure
des scripts, consultez la section “Comprendre la structure d'un script” à la page 1343.
Création d'un nouveau script :
1 Choisissez FXBuilder dans le menu Outils.
Vous pouvez ouvrir autant de fenêtres FXBuilder que vous le désirez.
Fenêvide prête pour
un nouveau script.
tre FXBuilder
2 Si nécessaire, cliquez sur l'onglet Entrée de texte FXBuilder.
3 Entrez votre code de script.
Pour plus d'informations, consultez la section “Comprendre la structure d'un script” à la
page 1343.
Si vous voulez attribuer un nom unique à un script, veillez à entrer ce nom sur la première
ligne du script. Les noms des effets affichés dans l'onglet Effets du Navigateur et dans le
menu Effets sont déterminés par la première ligne du script et non par le nom du fichier
exporté.
Lorsque vous êtes prêt à tester le code, consultez la section “Test de fonctionnement d'un
script dans FXBuilder” à la page 1337 ou “Application de scripts dans la Chronologie” à la
page 1339.
Ouverture d'un script afin de pouvoir en visualiser le code :
1 Dans l'onglet Effets du Navigateur, localisez et sélectionnez l'effet désiré.
2 Choisissez Éditer d'effet dans le menu Présentation.
1336 Chapitre 31
Le script de l'effet sélectionné s'affiche alors dans une fenêtre FXBuilder.
3 Si vous le désirez, changez le script.
Pour plus d'informations, consultez la section “Comprendre la structure d'un script” à la
page 1343.
Test de fonctionnement d'un script dans FXBuilder
Vous pouvez exécuter des scripts en temps réel sans les rendre au préalable. Ceci vous
permet de tester tranquillement un effet et de le modifier ensuite si nécessaire.
Tester un script :
1 Ouvrez le script d'effets que vous souhaitez.
2 Cliquez sur l'onglet Contrôles d'entrée FXBuilder.
Utilisation de FXBuilder pour créer, tester et modifier les effets 1337
3 Faites glisser un clip du Navigateur, de la Chronologie ou du Visualiseur vers la zone
Source 1.
Faites glisser le clip sur
lequel vous voulez
tester l'Si vous testez une
transition, vous devez
effet vers la
zone Source 1.
placer un autre clip ici.
Remarque : les contrôles, ou réglages, ne s'affichent pas dans l'onglet Contrôles d'entrée
FXBuilder avant que vous n'ayez exécuté votre script dans l'onglet Entrée de texte FX
Builder.
4 Cliquez sur l'onglet Entrée de texte FXBuilder, puis choisissez Exécuter dans le menu
FXBuilder.
Une autre fenêtre FXBuilder s'ouvre et exécute automatiquement et sans interruption l'effet
sur le clip, avec le Point d'entrée comme source.
Cliquez sur ces boutons pour
exécuter ou stopper l'effet.
Déplacez la tête de
lecture afin de lire
image par image ou de
procéder à une lecture
rapide.
5 Cliquez sur l'onglet Contrôles d'entrée FXBuilder, et ajustez les réglages, si vous le désirez.
1338 Chapitre 31
Vous pouvez effectuer cette opération pendant l'exécution du script. Si vous cliquez sur le
bouton Arrêter ou sélectionnez Arrêter dans le menu FXBuilder, les réglages d'entrée
reviennent aux réglages par défaut ou précédemment enregistrés.
Cliquez sur cet onglet
et ajustez les réglages.
6 Si vous le souhaitez, codez votre script afin de le protéger contre toute modification.
Consultez la section “Protection contre l'altération et la visualisation de scripts” à la
page 1340.
7 Enregistrez vos réglages.
Consultez la section “Exportation de scripts FXBuilder sous forme de texte” à la page 1341.
Pour exécuter le script sur un autre clip, faites glisser cet autre clip du Navigateur, de la
Chronologie ou du Visualiseur vers la zone Source 2.
Application de scripts dans la Chronologie
Vous pouvez appliquer des scripts à des parties vidéo d'une séquence dans la Chronologie.
Les effets peuvent être placés n'importe où dans le clip auquel vous souhaitez les appliquer.
Vous pouvez en outre appliquer plusieurs effets au même clip. Les valeurs des effets que
vous placez dans la Chronologie peuvent être réglées. Si vous ne définissez pas les contrôles
d'entrée, ce soit les valeurs par défaut qui sont appliquées.
Application d'un effet de script dans une séquence :
1 Faites glisser le script de l'onglet Effets du Navigateur sur l'emplacement désiré dans la
Chronologie.
Si l'effet est une transition ou un générateur, une icône s'affiche. Si vous placez des
transitions dans la Chronologie, vous pouvez le faire au milieu, au début ou à la fin.
Utilisation de FXBuilder pour créer, tester et modifier les effets 1339
2 Ouvrez l'effet dans le Visualiseur.
m Pour un effet avec transition ou générateur : double-cliquez sur l'icône de l'effet.
m Pour des effets de filtre : double-cliquez sur le clip qui contient le filtre puis sur l'onglet
Filtres dans le Visualiseur.
3 Ajustez les réglages.
4 Si nécessaire, faites un rendu des effets de script.
Quand vous appliquez des scripts dans la Chronologie, vous devez appliquer un rendu avant
de pouvoir les lire. Dans le cas contraire, le message “Rendu non appliqué” s'affiche sur fond
bleu dans le Canevas. Pour plus d'informations, consultez le chapitre 23, intitulé “Rendu”, à la
page 1155.
Pour visualiser un effet en temps réel, consultez la section “Test de fonctionnement d'un
script dans FXBuilder” à la page 1337.
Protection contre l'altération et la visualisation de scripts
L'écriture de vos nouveaux scripts s'étant avérée longue et vous ayant demandé beaucoup de
travail, vous souhaiterez sans doute empêcher l'affichage ou la modification de vos oeuvres
par d'autres utilisateurs.
Codage d'un script :
1 Ouvrez le script dans FXBuilder.
2 Procédez de l'une des manières suivantes :
m Enregistrement d'un script de manière à ce qu'il puisse être visualisé que dans Final
Cut Pro : choisissez Créer un module dans le menu FXBuilder.
m Pour enregistrer un script de manière à ce qu'il ne puisse être ni affiché ni
modifié: choisissez Créer un module codé dans le menu FXBuilder.
3 Introduisez un nom, sélectionnez une destination pour l'effet puis cliquer sur Enregistrer.
1340 Chapitre 31
Exportation de scripts FXBuilder sous forme de texte
Si vous exportez votre script sous forme de fichier texte, vous pouvez l'ouvrir, l'afficher ou le
modifier. Utilisez cette option si vous travaillez sur ou utilisez un script du domaine public.
Important Les noms des effets affichés dans l'onglet Effets du Navigateur et dans le menu
Effets sont déterminés par la première ligne du script et non par le nom du fichier exporté.
Quand vous créez votre script, veillez à lui donner un seul nom sur la première ligne du
script.
Exportation d'un script en tant que fichier texte :
1 Vérifiez que la fenêtre FXBuilder du script concerné est activée.
2 Choisissez Exporter le texte dans le menu FXBuilder.
3 Introduisez un nom, sélectionnez une destination pour l'effet puis cliquer sur Enregistrer.
Choisissez un
emplacement
pour enregistrer
le fichier.
Si vous le désirez,
attribuez un nom
au fichier.
Pour utiliser le script exporté, vous devez l'installer à l'emplacement approprié dans le
dossier Final Cut Pro. Pour plus d'informations, consultez la section ci-après, “Installation de
scripts”.
Utilisation d'un script exporté dans Final Cut Pro :
1 Sortez de Final Cut Pro.
2 Placez le script exporté dans Final Cut Pro : Plugins: Dossier FXScripts.
Si vous connaissez le type de script que vous installez, par exemple une transition vidéo ou
un filtre audio, placez-le dans le dossier approprié.
Utilisation de FXBuilder pour créer, tester et modifier les effets 1341
3 Ouvrez Final Cut Pro.
Votre script s'affiche à
l'emplacement désigné
dans l'onglet Effets.
Installation de scripts
Vous pouvez installer des scripts que vous avez créés ou provenant d'autres sources, afin de
les utiliser dans Final Cut Pro. Une fois que les effets sont installés, on y accède par l'onglet
Effets dans le Navigateur et par le menu Effets.
Installer et utiliser un script :
1 Sortez de Final Cut Pro.
2 Faites glisser le script à l'emplacement suivant : Final Cut Pro : Plugins: Dossier FXScripts.
Si vous connaissez le type de script que vous installez, par exemple une transition vidéo ou
un filtre audio, placez-le dans le dossier approprié.
3 Ouvrez Final Cut Pro.
Votre script s'affiche à
l'emplacement désigné
dans l'onglet Effets.
Final Cut Pro charge les nouveaux effets, auxquels vous aurez accès dans le menu Effets ou
dans l'onglet Effets du Navigateur.
1342 Chapitre 31
Comprendre la structure d'un script
Tous les scripts partageant la même structure simple, il est facile de les comprendre et de les
modifier. Les scripts sont divisés en lignes. Chaque ligne contient une instruction ou un
groupe d'instructions. Plusieurs règles sont à prendre en compte pour le pilotage :
m Les lignes ne peuvent être séparées au milieu d'une instruction.
Si vous séparez la ligne au milieu de ce code, le script ne s'exécutera pas. Par exemple,
dans le script Teinte indiqué dans la section ci-après, l'instruction yuvtint = RGBtint
doit apparaître intégralement sur un seule ligne.
m Le point-virgule (;) signale la fin d'une ligne.
Vous pouvez également utiliser la touche Retour.
m Le point-virgule (;) permet en outre de relier deux lignes courtes.
Révision du script de l'effet Teinte
Prenons l'exemple d'un script fourni avec Final Cut Pro, le script Teinte. Le script Teinte cidessous
applique une couleur à la vidéo.
Affichage de la teinte :
1 Dans le Navigateur, cliquez sur l'onglet Effets, puis sélectionnez Teinte dans le sous-chutier
Contrôle d'image du chutier Filtres vidéo.
2 Choisissez Éditeur d'effet dans le menu Présentation.
Les deux premières lignes
Les deux premières lignes indiquent le nom et le type du script et les affectent à un groupe
du Navigateur. Le script s'appelle “Teinte”. Il s'agit d'un script de filtre affecté au groupe
Contrôle d'image. Ce script est stocké dans le chutier Contrôle d'image du Navigateur.
filtre "Teinte";
Utilisation de FXBuilder pour créer, tester et modifier les effets 1343
groupe "Contrôle d'image";
Remarque : si vous voulez attribuer un nom unique à un script, veillez à l'introduire sur la
première ligne du script. Les noms des effets affichés dans l'onglet Effets du Navigateur et
dans le menu Effets sont déterminés par la première ligne du script.
La troisième et la quatrième ligne
La troisième ligne spécifie le contrôle d'entrée nécessaire. Dans ce cas, le seul élément
nécessaire est un contrôle de sélection de couleurs standard. Si davantage de contrôles
d'entrée sont nécessaires, ils apparaissent dans cette partie du script, sur des lignes séparées.
Ce contrôle prend un nombre correspondant à la couleur sélectionnée et le place dans une
variable appelée RGBtint. Tous les contrôles d'entrée placent le résultat de la valeur dans une
variable de sorte qu'il puisse être utilisé ultérieurement dans le code du script.
entrée RGBtint, "Tint Color", couleur, 0, 0, 0, 0;
entrée amt, "Amount", curseur, 100, 0, 100;
La cinquième ligne
Cette ligne indique que le script est en mesure de traiter les couleurs dans l'espace de
couleur YUV ( YCrCb).
InformationFlag("YUVaware")
La sixième ligne
Cette ligne indique où le code script commence. Chaque ligne qui suit est un code script.
code
Lignes restantes
Les lignes restantes représentent le code nécessaire à la sélection de la couleur et à son
application à la vidéo en permettant de modifier individuellement la couleur de certains
pixels de la vidéo. L'avant-dernière ligne, qui commence par le terme channelFill,
correspond à la ligne appliquant effectivement la couleur sélectionnée.
YUVcolor yuvtint;
RGBtint.a = 255;
yuvtint = RGBtint;
yuvtint += 128;
ConvertImage(src1, dest, kFormatYUV219);
channelFill(Dest, -1, -1, yuvtint.u, yuvtint.v);
blend(src1, dest, dest, amt/100);
1344 Chapitre 31
Personnalisation de scripts : Exemple
Il existe de nombreuses manières de personnaliser des scripts. Par exemple, vous pouvez
modifier le script Teinte en ajoutant un contrôle de luminosité définissable par l'utilisateur.
Personnalisation du script teinte :
1 Définissez le contrôle d'entrée correspondant au niveau de luminosité.
Saisissez la ligne qui suit sous la commande d'entrée Teinte située en haut du script :
entrée luminosité, “Luminosité”, curseur, 100, 0, 200 label “%”;
Cette ligne est alors utilisée pour modifier la luminosité du clip.
2 Utilisez la commande channelMultiply pour multiplier le canal de luminance par la variable
entrée.
Entrez la ligne de code suivante après la ligne channelFill dans le corps du script :
channelMultiply (dest, dest, 1, brightness/100, 1, 1);
À la prochaine exécution du script, vous pourrez modifier la luminosité ainsi que la teinte.
À propos des commandes FXScript
Les commandes FXScript sont dotées de plusieurs fonctions, brièvement exposées ici. Pour
obtenir des informations complètes sur le langage FXScript, consultez le chapitre 32, intitulé
“Commandes et fonctions utilisées dans FXScript”, à la page 1351.
Instructions
Une instruction est une commande visant à accomplir une opération unique. Il existe
plusieurs types d'instructions dans FXScript.
Instructions de définition
La première instruction de tout script doit correspondre à l'instruction de définition. Ceci
indique le nom du script à Final Cut Pro ainsi que son type (filtre, transition ou générateur).
Final Cut Pro se base alors sur ses informations pour placer le script dans l'onglet Effets du
Navigateur. Si vous ne placez pas d'instruction de définition dans votre script, celui-ci ne
s'exécutera pas.
Utilisation de FXBuilder pour créer, tester et modifier les effets 1345
Instructions conditionnelles
Une instruction conditionnelle indique l'exécution éventuelle d'une opération si une
certaine condition spécifique est vérifiée.
Les instructions conditionnelles commencent toujours par if et se terminent toujours par
end if.
Cet exemple est extrait du script de filtre Biseau, qui place une bordure biseautée autour
d'une image.
if framewidth Supérieur à
<= Inférieur ou égal à
>= Supérieur ou égal à
<< Décalage à gauche
>> Décalage à droite
& ET relatifs aux bits
| OU relatifs aux bits
ˆ ou xor OU exclusif relatif aux bits
&& ou and ET logique
1352 Chapitre 32
Opérateur Signification
|| ou or OU logique
? et : ? :
Si l'expression conditionnelle est vraie, la valeur 1 est renvoyée ; sinon, la valeur 2
est renvoyée.
Remarque : les nombres sont supposés être à virgule flottante à moins d'être précédés de
“0x” qui dénote un nombre hexadécimal.
Opérateurs composés
Dans une instruction d'assignation, vous pouvez utiliser les opérateurs d'assignation
composés. qui sont : +=, –=, *=, /=, %=, &=, |= et ˆ=.
Opérateurs et régions
Pour les régions, seuls quelques opérateurs peuvent être utilisés, ceux-ci sont
m + (addition)
m – (soustraction )
m & (et)
m |(ou)
m ˆ (ou exclusif ; cela signifie l'un ou l'autre, jamais les deux)
Opérateurs et chaînes de caractères
Seul l'opérateur + peut être utilisé pour relier ou joindre des chaînes entre elles.
Commandes et fonctions utilisées dans FXScript 1353
Types de données
Les types de données vous permettent de déclarer des variables et de leur affecter des types
de données spécifiques. Les instructions de type de données sont toujours suivies de
plusieurs noms de variables séparés par des virgules. Vous pouvez créer des tableaux en
faisant suivre une instruction de type de données par 5 dimensions maximum du tableau
entre parenthèses. Par exemple, le code ci-dessous crée un tableau de 3 points sur 4
nommé “p”:
point p [3] [4]
Type Syntaxe Description
float float variablename Déclare une variable à virgule
flottante.
point point variablename Déclare une variable qui
contient une coordonnée de
points bidimensionnelle.
point3d point3d variablename Déclare une variable qui
contient une coordonnée à
virgule flottante
tridimensionnelle.
image image variablename
[width][height]
Déclare un tampon d'image de
pixels bidimensionnel sur lequel
effectuer des opérations.
region region variablename Déclare une région nommée
(Une région est une figure
arbitraire.)
string string variablename Déclare une chaîne de texte.
color color variablename Déclare une variable avec quatre
champs (chacun d'eux
correspondant à a, r, g ou b) qui
contient une valeur
colorimétrique ARGB (ARVB).
YUVcolor YUVcolor variablename Déclare une variable avec quatre
champs (chacun d'eux
correspondant à a, y, u ou v) qui
contient une valeur
colorimétrique YUV.
1354 Chapitre 32
Type Syntaxe Description
clip clip variablename Déclare une variable qui
contient un clip vidéo.
value value variablename Déclare un paramètre non
modifiable dans une sousroutine
Fonctions
Les fonctions peuvent être utilisées aussi bien avec des variables qu'avec des nombres
connus.
Fonction Syntaxe Description
Sin Sin(angle) Sinus de l'angle spécifié
(comme nombre à virgule
flottante en degrés)
Cos Cos(angle) Cosinus de l'angle spécifié
(comme nombre à virgule
flottante en degrés)
Tan Tan(angle) Tangente de l'angle spécifié
(comme nombre à virgule
flottante en degrés)
ASin ASin(value) Arcsinus de la valeur en degrés
ACos ACos(value) Arccosinus de la valeur en
degrés
ATan ATan(value) Arctangente de la valeur en
degrés
Sqrt Sqrt(value) Racine carrée de la valeur
Abs Abs(valeur) Valeur absolue de la valeur
Power Power(value, exponent) Valeur élevée à un exposant
spécifié
Exp Exp(value) Constante mathématique e
élevée à la puissance
correspondant à la valeur
spécifiée
Commandes et fonctions utilisées dans FXScript 1355
Fonction Syntaxe Description
Log Log(value) Logarithme en base e de la
valeur
Log10 Log10(value) Logarithme en base 10 de la
valeur
Integer Integer(value) Convertit la valeur en nombre
entier.
Sign Sign(value) Signe de la valeur. Il s'agit de –1
si la valeur est inférieure à zéro,
de 0 si la valeur est égale à zéro
et de 1 si la valeur est
supérieure à zéro.
1356 Chapitre 32
Géométrie
Commande Syntaxe Description
DistTo DistTo(p1, p2) La distance de p1 à p2, où p1 et
p2 sont des coordonnées de
points bidimensionnelles
AngleTo AngleTo(p1, p2) Renvoie l'angle entre p1 et p2,
p1 à p2 étant un vecteur
Interpolate Interpolate(p1, p2,
percent, result)
Interpolation à partir de deux
points. Le résultat est une
variable de points
bidimensionnelle.
CenterOf CenterOf(poly, point) Place le point central du
polygone représenté par “poly”
dans la variable représentée par
“point”.
BoundsOf BoundsOf(image, result) Remplace le polygone “résultat”
par un rectangle qui constitue
les limites de l'élément “image”.
Le résultat doit être un tableau
de point 4.
DimensionsOf DimensionsOf(image, width,
height)
Renvoie la largeur et la hauteur
du tampon d'image spécifié.
AspectOf AspectOf(image) Renvoie une valeur à virgule
flottante qui est la proportion
de pixels du tampon d'image
spécifié. Ce dernier doit avoir
été préalablement déclaré et
être du type de l'image.
Grid Grid(srcPoly, destPoly) Divise le polygone
rectangulaire, “scrPoly”, en un
quadrillage de rectangles basé
sur les dimensions de
“destPoly”.
Mesh Mesh(srcPoly, destPoly) Crée une maille à partir d'un
polygone rectangulaire,
“scrPoly”, en fonction des
dimensions de “destPoly”.
Commandes et fonctions utilisées dans FXScript 1357
Commande Syntaxe Description
Convert2dto3d Convert2dto3d(point/poly, Remplace les valeurs de
point3d/poly3d, “point3d” ou de “poly3d” par les
zvalue) valeurs correspondantes de
“point” ou de “poly”, à l'aide du
nombre représenté par “zvalue”
pour la dimension de l'axe z de
chaque point.
Convert3dto2d Convert3dto2d(point3d/ Remplace les valeurs de “point”
poly3d, point/poly, ou de “poly” par les valeurs
eye3d) correspondantes de “point3d”
ou de “poly3d”. “Eye3d” est le
point de visualisation de la
conversion. S'il s'agit de zéro, la
projection parallèle est alors
utilisée pour la conversion.
Formes
Commande Syntaxe Description
Line Line(p1, p2, image, color,
width)
Dessine une ligne dans le
tampon d'image correspondant
à “image”, de p1 à p2, avec la
couleur (exprimée comme
valeur RVB) et la largeur (en
pixels) spécifiées.
MakeRect MakeRect(result, left,
top, width, height)
Remplace le polygone
rectangulaire “result” par celui
dont les dimensions sont
spécifiées. “Left” et “top” sont
des points bidimensionnels et
largeur et hauteur sont des
distances en pixels.
MakeRegion MakeRegion(poly, rgn) Transforme le polygone spécifié
en région, stockée dans la
région intitulée “rgn”.
1358 Chapitre 32
Commande Syntaxe Description
OvalRegion OvalRegion(poly, rgn) Crée un ovale depuis les coins
supérieur-gauche et inférieurdroit
du polygone spécifié, et
les stocke dans la région
appelée “rgn”
RegionIsEmpty RegionIsEmpty(rgn) Renvoie la valeur vraie si la
région spécifiée ne contient
aucun pixel. La valeur vraie est
représentée par 1.
FrameRegion1 FrameRegion(rgn, image,
color, width)
Dessine une ligne autour de la
région spécifiée “rgn” avec les
couleur et largeur spécifiées
dans le tampon d'image
FillRegion1 FillRegion(rgn, image,
color)
Remplit la région spécifiée avec
la couleur spécifiée et stocke le
résultat dans le tampon d'image
spécifié.
FramePoly FramePoly(poly, image,
color, width)
Dessine un cadre autour des
limites du polygone spécifié à
l'aide de la couleur spécifiée
(comme valeur RVB) et la
largeur spécifiée (en pixels).
Stocke le résultat dans le
tampon d'image spécifié.
FillPoly
DrawSoftDot
FillPoly(poly, image,
color)
DrawSoftDot(dest, point/
poly, shape, size,
softness, subSteps,
color(s),
opacity(s), aspect)
Remplit le polygone spécifié
avec la couleur spécifiée et
stocke le résultat dans le
tampon d'image spécifié.
Dessine une ou plusieurs
figures au niveau des souspixels
dans un tampon d'image.
Cette commande peut être
utilisée pour dessiner des
cercles, des carrés et des
losanges de couleur, taille,
lissage, exactitude de position
et opacité spécifiés. La couleur
et l'opacité peuvent être soit un
tableau, soit une valeur unique.
Commandes et fonctions utilisées dans FXScript 1359
Commande Syntaxe Description
FillOval FillOval(poly, dest,
color)
Remplit l'ovale délimité par le
polygone spécifié avec la
couleur spécifiée et stocke le
résultat dans le tampon d'image
spécifié
FrameOval FrameOval(poly, dest,
color, width)
Dessine un cadre autour de
l'ovale délimité par le polygone
spécifié, de la couleur spécifiée
(comme valeur RVB) et de la
largeur spécifiée (en pixels).
Stocke le résultat dans le
tampon d'image spécifié.
FillArc
FrameArc
FillArc(center, radius,
startAngle,
endAngle, dest,
color, aspect)
FrameArc(center, radius,
startAngle,
endAngle, sides,
dest, color, widthaspect)
Dessine un arc de “startAngle” à
“endAngle” à la sortie “dest”.
La taille de l'arc est spécifié par
“radius” et la position par
“center”. L'arc est rempli par la
couleur spécifiée.
,
Dessine une image de l'arc de
“startAngle” à “endAngle” à la
sortie “dest”.
La taille de l'arc est spécifiée par
“radius” et la position par
“center”. L'image se trouve
dotée de la largeur et la couleur
spécifiées.
“Sides” est un valeur booléenne.
Si elle est vraie, deux lignes
seront dessinées (de la même
couleur et largeur que l'arc) des
extrémités de l'arc au point
central ; sinon, aucune ligne ne
sera dessinée.
CurveTo CurveTo(startPt, Dessine une courbe de “startPt”
tangentPt, endPt, à “endPt” à la sortie “dest”. La
dest, color, width) forme de la courbe est
déterminée par “tangentPt”. La
courbe se trouve dans la couleur
et la largeur spécifiées.
1360 Chapitre 32
1 La routine de région noircit le canal alpha.
Transformation
Commande Syntaxe Description
Rotate Rotate(point/poly, center, Fait tourner le point ou
angle, aspect) polygone spécifié selon l'angle
spécifié en degrés, autour du
centre spécifié.
Rotate3d Rotate3d(point3d/poly, Fait tourner le point ou
center3d, xrotate, polygone tridimensionnel
yrotate, zrotate) spécifié selon les angles
spécifiés, autour du centre
indiqué. Il est à remarquer que
“center3d” dispose de trois
champs, correspondants à la
hauteur, à la largeur et à la
profondeur.
Scale Scale(point/poly, center,
hScale, vScale)
Met un point ou polygone à
l'échelle autour du centre
spécifié d'après les quantités
spécifiées dans “hscale” et
“vscale”.
Scale3d Scale3d(point3d/poly3d,
center3d, xscale,
yscale, zscale)
Met un point ou polygone
tridimensionnel à l'échelle
autour du centre spécifié
d'après les trois facteurs de
mise à l'échelle.
Offset Offset(point/poly,
hAmount, vAmount)
Déplace un point ou polygone
d'après la quantité spécifiée
pour chaque dimension.
Commandes et fonctions utilisées dans FXScript 1361
Commande Syntaxe Description
Offset3d Offset3d(point3d/poly3d, Déplace un point ou polygone
xoffset, yoffset, tridimensionnel d'après la
zoffset) quantité spécifiée pour chaque
plan.
Outset3d Outset3d(poly3d, center3d, Approche ou éloigne dans
amount) l'espace en 3 dimensions un
quadrilatère du point central
spécifié.
Blit
Commande Syntaxe Description
RegionCopy RegionCopy(srcImage1,
srcImage2,
destImage, rgn,
softness)
Copie les deux images sources
dans le tampon d'image
destinataire en utilisant la
région spécifiée comme masque
et en lissant les bords de ce
dernier selon la valeur de
lissage donnée.
Blit Blit(sourceImage, Copie les pixels de
sourcePoly, “sourcePoly” situé à l'interieur
destImage,
destPoly, opacity)
de “sourceImage” dans le
polygone “destPoly” de
“destImage”, en appliquant la
valeur d'opacité spécifiée.
BlitRect BlitRect(sourceImage, Copie les pixels de “sourcePoly”
sourcePoly, situé à l'interieur de
destImage,
destPoly)
“sourceImage” dans le polygone
“destPoly” de “destImage”. Les
polygones sources et
destinataires doivent avoir
quatre côtés et le canal alpha de
la source est traité comme
opaque.
1362 Chapitre 32
Commande Syntaxe Description
MeshBlit MeshBlit(sourceImage, Copie les pixels de
sourcePoly, “sourceImage” dans
destImage, “destImage”, à l'aide de deux
destPoly, opacity) mailles à points comme
transformation en appliquant la
valeur spécifiée pour l'opacité.
MeshBlit3D MeshBlit3d(sourceImage, Copie les pixels de
sourcePoly, “sourceImage” dans
destImage, “destImage”, à l'aide de deux
destPoly3d, mailles à points
opacity, center3D) tridimensionnelles comme
transformation en appliquant la
valeur spécifiée pour l'opacité.
Commandes et fonctions utilisées dans FXScript 1363
Commande Syntaxe Description
MaskCopy MaskCopy(sourceImage1,
sourceImage2,
maskImage,
destImage,softness,
amount)
Copie à partir des deux images
sources dans l'image
destinataire, à l'aide d'un
masque de dégradé. La valeur
de “softness” donnée définit le
seuil de dégradé et “amount”
spécifie le pourcentage de
dégradé. Cette commande est
identique à RegionCopy mais le
masque est dérivé d'un tampon
d'image.
PagePeel PagePeel(srcImage1,
srcImage2,
destImage,
centerPoint,
radius, angle,
peel, aspect)
Effectue un effet de tourné de
page en utilisant les tampons
d'images srcImage1 et 2 comme
recto et verso de la page. Le
résultat est placé dans le
tampon d'image “destImage”.
Le point central et l'angle
spécifient l'emplacement et
l'angle de la ligne de pli (“cut
line”) de la zone décollée.
“Radius” est le rayon de la
courbure de cette dernière. La
valeur de zone décollée donnée
détermine le type de décollage
qui se produit : s'il s'agit de
zéro, l'image est enroulée sur
tout un côté et s'il s'agit de
toute autre valeur que zéro,
l'image est complètement
décollée vers le haut, en
commençant par un côté,
depuis l'image du dessous.
1364 Chapitre 32
Processus
Commande Syntaxe Description
Blur Blur(srcImage, destImage, Applique un flou sur le tampon
radius, aspect) d'image source et place le
résultat dans le tampon d'image
destinataire. “Radius” spécifie le
rayon de la zone floue.
BlurChannel BlurChannel(srcImage, Applique un flou sur les canaux
destImage, radius, spécifiés du tampon d'image
doAlpha, doRed, source et place le résultat dans
doGreen, doBlue, le tampon d'image destinataire.
aspect) “Radius” spécifie le rayon de la
zone floue. Les valeurs de
canaux sont des nombres
booléens, variables ou fixes.
Diffuse Diffuse(srcImage,
destImage,
repeatEdges, hMin,
hMax, vMin, vMax)
Remplit chaque pixel du
tampon d'image destinataire par
un pixel du tampon d'image
source qui est décalé dans
l'espace d'un nombre aléatoire
compris entre les valeurs
assignées à “hMin” et “hMax”
sur l'axe horizontal ainsi qu'à
“vMin” et “vMax” sur l'axe
vertical. “RepeatEdges” est une
opération booléenne qui
détermine si les pixels se
trouvant au-delà des limites de
l'image source sont remplis de
copies du pixel du bord le plus
proche ou remplis de pixels
noirs.
DiffuseOffset DiffuseOffset(srcImage,
destImage,
repeatEdges, hMin,
hMax, vMin, vMax,
hTable[width],
vTable[height])
Similaire à Diffuse, mais le
décalage horizontal et vertical
de chaque pixel s'ajoute aux
tableaux “hTable” et “vTable”,
qui contiennent la position
horizontale et verticale de
chaque pixel.
Commandes et fonctions utilisées dans FXScript 1365
Commande Syntaxe Description
MotionBlur
RadialBlur
MotionBlur(srcImage,
destImage, hDist,
vDist, steps)
RadialBlur(srcImage,
destImage,
centerPt, amount,
spin, steps,
aspect)
Copie le tampon d'image
source dans le tampon d'image
destinataire, en ajoutant un flou
d'animation d'une magnitude
spécifiée par “hDist” et “vDist”.
“Steps” détermine le nombre
d'étapes intermédiaires
ajoutées.
Copie le tampon d'image
source dans le tampon
destinataire, en ajoutant un flou
radial d'une magnitude
spécifiée par “amount”, autour
du centre spécifié dans
“centerPt”. “Steps” spécifie le
nombre d'étapes intermédiaires
ajoutées à l'effet de flou. “Spin”
peut être soit vraie soit fausse.
Si elle est vraie, “amount” est un
angle de rotation. Si elle est
fausse, “amount” est la distance
d'extension du flou depuis le
point central.
Blend
ColorTransform
Blend(srcImage1,
srcImage2,
destImage, amount)
ColorTransform(srcImage,
destImage, matrix,
float[3], float[3])
Fusionne les deux tampons
d'images sources et place le
résultat dans le tampon d'image
destinataire. “Amount” spécifie
le pourcentage de fusion.
Transforme la couleur du
tampon d'image source vers le
tampon d'image destinataire,
sur base de la matrice flottante
3x3 spécifiée. Les deux tableaux
flottants spécifient les décalages
à ajouter aux tampons d'images
sources et destinataires pendant
l'opération. Si la matrice est une
transformation RVB à RVB, il est
souhaitable que les tableaux
soient remplis de zéros.
1366 Chapitre 32
Commande Syntaxe Description
LevelMap LevelMap(src, dest,
alphaMap[256],
redMap[256],
greenMap[256],
blueMap[256])
ChannelCopy ChannelCopy(src, dest,
copyAlpha, copyRed,
copyGreen,
copyBlue)
Associe le tampon d'image
source au tampon d'image
destinataire, passant chaque
composant de la source à
travers un tableau de recherche
à virgule flottante de 256
entrées. Ces tableaux sont
alpha, rouge, vert et bleu, dans
cet ordre.
Copie un groupe de canaux du
tampon d'image source dans le
tampon d'image destinataire.
Chaque canal est copié à partir
du canal spécifié par son
paramètre correspondant. Les
paramètres de copie sont les
variables prédéfinies
copieAlpha, copieRouge,
copieVert et copieBleu.
Convolve Convolve(srcImage, Effectue une convolution de 3x3
destImage, kernel, du tampon d'image source au
divisor, offset) tampon d'image destinataire. La
somme des contenus du tableau
de 3x3 spécifié comme “kernel”
est divisée par le diviseur
spécifié et “offset” est ajouté.
ChannelFill ChannelFill(destImage, Remplit les canaux du tampon
alphaValue, d'image destinataire avec les
redValue, valeurs colorimétriques
greenValue, spécifiées.
blueValue)
Commandes et fonctions utilisées dans FXScript 1367
<1/36>
<2/36>
<3/36>
<4/36>
<5/36>
<6/36>
<7/36>
<8/36>
<9/36>
<10/36>
<11/36>
<12/36>
<13/36>
<14/36>
<15/36>
<16/36>
<17/36>
<18/36>
<19/36>
<20/36>
<21/36>
<22/36>
<23/36>
<24/36>
<25/36>
<26/36>
<27/36>
<28/36>
<29/36>
<30/36>
<31/36>
Suite du manuel : page <32/36>
<33/36>
<34/36>
<35/36>
<36/36> |