Certified 100% clean from spyware, adware or viruses by Softpedia

Filtres pour les images

Les filtres pour images peuvent être lancés pour améliorer la qualité ou modifier des images pendant la génération de l'album, on peut ajouter sur l'image des textes transparents (watermark) ou des logos ..ect. Les filtres pour les images peuvent être appliqués aux images, aux vignettes ou aux deux. Plusieurs filtres peuvent être enchaînés pour produire l'effet désiré. Imaginons que vous appliquiez d'abord un filtre anti yeux rouge, puis un filtre netteté et enfin que vous ajoutiez votre logo dans un coin de l'image. Bien, pour le moment tous ces filtres ne sont pas écrits, mais j'espère qu'ils arriveront bientôt. Pour le moment, il n'y a pas d'interface graphique pour utiliser les filtres d'images, mais avec quelques simples réglages dans les "variables définies par l'utilisateur" de l'onglet "Avancées", Il est possible de contrôler ces filtres.

Exemple rapide

Comme apprendre par l'exemple" est le meilleur moyen, on va débuter en appliquant un filtre gris à toutes les vignettes et ajouter un logo dans chaque images. (Pour une description sommaire des filtres disponibles, voir plus bas.)

Démarrez JAlbum et préparez un projet pour la création d'un album. Puis allez dans l'onglet "Avancée" de JAlbum. Vous y trouverez une section appelée "Variables de l'utilisateur". Nous allons utiliser cette section pour paramétrer les réglages de nos filtres. Taper exactement comme dans l'exemple. Faites attention au Majuscules , ("GrayscaleFilter" est différent de Grayscalefilter"). Lorsque vous avez terminé, cliquez sue ENTER pour sauver vos nouveaux réglages.


Réglages des paramètres dans l'onglet "Avancée"

Retournez maintenant dans l'onglet "Principal" et cliquez sur "Recréer tout" afin que les filtres soient appliqués. (Il est nécessaire d'utiliser "Recréer tout" car utiliser "Créer l'album" ne met pas à jour les images existantes.) Le résultat devrait ressembler à ceci:


L'image et la vignette après application des filtres.

Les filtres sont appliqués dans l'ordre de leur numéro (filter1, filter2 etc). Les réglages des filtres sont sauvés avec le fichier "projet" de l'album, n'oubliez donc pas de sauver votre projet lorsque vous êtes satisfait du résultat.

Les filtres

Vous trouverez ci-dessous la liste des filtres inclus avec JAlbum ainsi que leurs caractéristiques. (propriétés). De nouveaux filtres peuvent être installés en mettant leurs fichiers "Java class" dans le dossier "plugins" de JAlbum. Il est nécessaire que tous les filtres aient un identifiant afin d'être reconnus. Tous les filtres acceptent les paramètres qui contrôlent si le filtre est appliqué aux vignettes, aux images ou aux deux à la fois. Par défaut, les filtres s'appliquent aux deux à la fois.

Filtre gris


Convertir les images en niveaux de gris.

Property Values Comment
class GrayscaleFilter Identifiant (nom) du filtre (nécessaire)
thumbnails true|false Appliquer aux vignettes?
closeups true|false Appliquer aux images?

Exemple: class=GrayscaleFilter
Applique le filtre gris aux images et vignettes.

Tint filter (Teinte)


Adjusts the color of an image.

Property Values Comment
class TintFilter Identifiant du filtre (nécessaire)
thumbnails true|false Appliquer aux vignettes?
closeups true|false Appliquer aux images?
prescale true|false Appliquer le filtre avant redimesionnement ?
redPercent Intensité en % Red tone (100 par défaut)
greenPercent Intensité en % Green tone (100 par défaut)
bluePercent Intensité en % Blue tone (100 par défaut)

Exemple: class=TintFilter redPercent=100 greenPercent=60 bluePercent=60 Applique une coloration rouge sur les images
Vous pouvez obtenir des effets interessants en combinant le filtre Gris avec le filtre Teinte.

Logotype filter


Ajoute un logo en haut de chaques images.

Property Values Commentaire
class LogoFilter Identifiant du filtre (nécessaire)
thumbnails true|false Appliquer aux vignettes?
closeups true|false Appliquer aux images?
src URL to jpeg or gif image n'importe quelle URL valide
align left|center|right Alignement horizontal du logo (left)
valign top|center|bottom Alignement vertical du logo. (top)
margin Margin in pixels Distance du logo à partir du bord de l'image. (0)
offset Horizontal offset in pixels Réglage fin horizontal en pixels. (0)
voffset Vertical offset in pixels Réglage fin vertical en pixels. (0)

Exemple: class=LogoFilter src="http://www.datadosen.se/jalbum/images/bigicon.gif" closeups align=right
Ajoute le logo de JAlbum à partir de l'URL (adresse web) du site web de JAlbum, dans le coin droit de l'image.

Filtre Texte


Ajoute des testes aux images de l'album.

Propriété Valeurs Commentaire
class TextFilter Identifiant du filtre (nécessaire)
thumbnails true|false Appliquer aux vignettes?
closeups true|false Appliquer aux images?
text Text to display Permet d'utiliser des JAlbum $variables comme $originalDate et $comment pour incérer des commentaires variables en fonction des images
color HTML color definition Comprend les noms de couleurs standards comme "pink", "red"... et les formats #rrggbb et r,g,b,a
face Name of font nom valide de police comme "Helvetica", "Verdana", "Courier New" etc
style plain|bold|italic|bolditalic Style de la police (bold)
size Taille de la police en pixels (16)
antialias true|false Antialiasing permet des bords plus doux. (true)
align left|center|right Alignement horizontal du texte (left)
valign top|center|bottom Alignement du texte. (top)
margin Margin in pixels Distance du texte par rapport au bord de l'image. (5)
offset Horizontal offset in pixels Règlage fin horizontal en pixels. (0)
voffset Vertical offset in pixels Réglage fin vertical en pixels. (0)

Exemple: class=TextFilter text="Date: $fileDate" size=20 color=#aaffaa closeups
Ajoute la date d'un fichier image en haut en couleur vert claire.

Filtre texte Ombré


Comme le filtre texte mais avec les ombres en plus.

Propriétés étendues (voir filtre texte pour les autres):
Propriété Valeurs Commentaire
class ShadowTextFilter Identifiant du filtre (nécessaire)
shadowColor HTML color definition Coleur de l'ombre. Comprend les noms de couleurs standards comme "pink", "red"... et les formats #rrggbb et r,g,b,a
shadowDistance Distance en pixels (2)

Exemple: class=ShadowTextFilter text="Date: $fileDate" size=20 color=#aaffaa closeups
Ajoute la date d'un fichier image en haut en couleur vert claire avec une ombre noire

Filtre Watermark (effet transparant)


Comme le filtre texte mais avec un effet "watermark".

Propriétés étendues (voir filtre texte pour les autres):
Propriété Valeurs Commentaire
class WatermarkFilter Identifiant du filtre (nécessaire)
strengthPercent Strength in percent Controle la visibilité du watermark. (20)

Exemple: class=WatermarkFilter text="JAlbum" size=30 closeups valign=bottom margin=0
Ajoute le texte "JAlbum" watermark près du bord inférieur

Zoom filter


Zooms sur les images. Utile pour rendre les vignettes plus lisibles.

Propriété Valeurs Commentaire
class ZoomFilter Identifiant du filtre (nécessaire)
zoomPercent facteur du zoom sur le centre de l'image (30)
thumbnails true|false Appliquer aux vignettes ?
closeups true|false Appliquer aux images ?
prescale true|false Appliquer le filtre avant de redimensionner? vivement recommandé

Example: class=ZoomFilter prescale thumbnails zoomPercent=30
Applique le filtre zoom aux vignettes. Notez l'attibut "prescale" (important pour les vignettes)

Fixed shape filter


Coupe les images de façon à correspondre exactement aux valeurs fixées dans l'interface pour "Taille des vignettes" ou "taille des images". Il en résulte que toutes les vignettes/ou images ont la même taille.(portrait, paysage etc).

Nota: Lorsque ce filtre est intégré à un skin, le skin ne devrait plus utiliser $thumbWidth et $thumbHeight, car ces variables incorectes dans ce cas (les pages html pages sont générées avant le traitement des images, dans ce cas avant qu'elles ne soient coupées). Utilisez $maxThumbWidth et $maxThumbHeight à la place. Vous pouvez examiner le skin "Lone tree" pour voir un exemple d'utilisation de ce filtre.

Propriété Valeurs Commentaire
class FixedShapeFilter Identifiant du filtre (nécessaire)
thumbnails true|false Appliquer aux vignettes ?
closeups true|false Appliquer aux images ?
prescale true|false Appliquer le filtre avant de redimensionner ? vivement recommandé

Example: class=FixedShapeFilter prescale thumbnails
Applique le filtre fixed shape filter aux vignettes. Notez l'attibut "prescale" (important pour les vignettes)

Sharpen filter


Accentuer les images.

Propriété Valeurs Commentaire
class SharpenFilter Identifiant du filtre (nécessaire)
thumbnails true|false Appliquer aux vignettes ?
closeups true|false Appliquer aux images ?
prescale true|false Appliquer le filtre avant de redimensionner ?

Example: class=SharpenFilter closeups
Applique une accentuation de la netteté aux images.

Blur filter


flou aux images.

Propriété Valeurs Commentaire
class BlurFilter Identifiant du filtre (nécessaire)
thumbnails true|false Appliquer aux vignettes ?
closeups true|false Appliquer aux images ?
prescale true|false Appliquer le filtre avant de redimensionner ?

Example: class=BlurFilter closeups
Applique un flou aux images.

Rotation filter


Rotation des images suivant la valeur indiquée en degré ou de façon aléatoire (par image)

Nota: La taille des images ayant subies une rotation n'est pas la même que celle de l'image originale, ne spécifiez donc pas de taille fixe basée sur image widths et heights , par exemple $imageWidth dans un tag <img> dans une page Modèle (htt).

Propriété Valeurs Commentaire
class RotationFilter Identifiant du filtre (nécessaire)
thumbnails true|false Appliquer aux vignettes ?
closeups true|false Appliquer aux images ?
prescale true|false Appliquer le filtre avant de redimensionner ?(recommandé pour des bords plus doux)
angle Angle en degrees Angle de rotation des images (ou limite pour la rotation aléatoire, si celle-ci est sélectionnée) (15 par défaut)
random true|false Pour appliquer une rotation aléatoire à chaque image (maximum est défini par la valeur de l'angle ci-dessus.)

Example: class=RotationFilter angle=10 random thumbnails prescale
Rotation aléatoire des vignettes de -10 à 10 degrés.

eXtended Border filter


Ajoute des bordures cadres et ombres de votre choix aux images de vos albums.

la dernière version du filtre peut être téléchargée depuis le forum. Il est également possible de télécharger une documentation plus complète pour ce filtre

Propriété Valeurs Commentaire
class XBorderFilter Identifiant du filtre (nécessaire)
thumbnails true|false Appliquer aux vignettes ?
closeups true|false Appliquer aux images ?
prescale true|false Appliquer le filtre avant de redimensionner ?
bgCol HTML color definition Couleur du fond pour les parties transparentes des ombres et cadres
bgFile URL vers jpeg, png or gif image Emplacement du fichier graphique à utiliser pour les fonds des parties transparentes des ombres et cadres
bgOffX x offset en pixels x Offset pour le bgFile (nouveauté de la version V0.95 β)
bgOffY y offset en pixels y Offset pour le bgFile (nouveauté de la version V0.95 β)
boBlend true|false Fondu des bandes de couleur "on" ou "off" ?
boClip border clip rayon en pixels Angle arrondi pour les bordures
boCol (list of) HTML color definition(s) accepte les noms de couleurs standards de Netscape et Explorer comme "pink", #rrggbb
boMargin marge des bordures en pixels marge entre les bordures et les bords de l'image
boTrans (liste des) transparences des cadres 0 = opaque, 100 = complètement transparent (invisible)
boWidth largeur des bordures en pixels Les 4 cotés ont la même valeur
boWidthE bordure "Est" en pixels seulement E
boWidthN bordure "Nord" en pixels seulement N
boWidthS bordure "Sud" en pixels seulement S
boWidthW bordure "Ouest" (Western border) en pixels seulement W
brCol couleur des crochets (parenthèses) (new with V0.96)
brStyle Style des crochets (new with V0.96)
brThick épaisseur des traits des crochets (new with V0.96)
brX Longueur des branches horizontales des crochets (new with V0.96)
brY Longueur des branches verticales des crochets (new with V0.96)
clip rayon de l'arrondi en pixels rayon de l'angle arrondi
debug enables debug output for developers only
frBlend true|false Fondu des bandes de couleur "on" ou "off" ?
frCol (list of) HTML color definition(s) accepte les noms de couleurs standards de Netscape et Explorer comme "pink", #rrggbb
frTrans (liste des) transparences des cadres 0 = opaque, 100 = complètement transparent (invisible)
frWidth largeur du cadre en pixels Les 4 cotés ont la même valeur
frWidthE cadre "Est" en pixels seulement E
frWidthN cadre "Nord" en pixels seulement N
frWidthS cadre "Sud" en pixels seulement S
frWidthW cadre "Ouest" (Western border) en pixels seulement W
shCol (list of) HTML color definition(s) accepte les noms de couleurs standards de Netscape et Explorer comme "pink", #rrggbb
shDir NE|SE|NW|SW direction de l'ombre
shDrop hard|norm|soft dégradé de l'ombre
shTrans minimum shadow transparency transparence minimum de l'ombre près du bord de l'image
shWidth largeur de l'ombre en pixels les 2 directions ont la même valeur
shWidthX largeur de l'ombre suivant x en pixels seulement x
shWidthY largeur de l'ombre suivant y en pixels seulement y
shExX excédant d'ombre suivant x en pixels largeur de l'excédant d'ombre du coté opposé
shExY excédant d'ombre suivant y en pixels largeur de l'excédant d'ombre du coté opposé

Exemple: class=XBorderFilter frWidth=20 frCol=ivory shWidth=15 closeups
Ajoute un cadre et une ombre sur les images.
Autre exemple: class=XBorderFilter boWidth=20 boCol=ivory closeups
Ajoute une bordure sur les images.

Ajouter des filtres dans les skins

Les skins peuvent être configurés pour utiliser certains réglages de filtres automatiquement. Sauvez simplement un "projet" contenant les réglages adoptés dans la section "variables de l'utilisateur", puis renommer le projet en hints.jap et déplacez le dans le dossier du skin. JAlbum chargera ces réglages lorsque ce skin sera sélectionné. Pensez à enlever "les hints" (conseils) pour les cas où vous ne souhaitez pas utiliser ses paramètres.

Developper des filtres

Cette section est destinée aux programmeurs en Java qui souhaitent étendre les possibilités de JAlbum avec de nouveaux filtres. Les filtres pour images de JAlbum sont des classes java ajoutées dans le dossier plugins qui implémentent la petite interface se.datadosen.jalbum.JAFilter interface. Un filtre JAlbum devra respecter les spécifications de JavaBean, c'est à dire:

  • Fournir un no-args constructor
  • Getters and setter methods devra respecter les conventions de noms de JavaBean.
  • Le filtre devra être serializable
La section suivante n'est pas traduite, j'ai peur d'en faire quelque chose d'incompréhensible pour les programmeurs..:-)

A se.datadosen.jalbum.JAFilter interface must provide getter methods for name and description pretty much like an Applet. The third method is the filter method that takes a BufferedImage and a java.util.Map as arguments and returns a modified BufferedImage. A filter is allowed to directly manipulate the passed BufferedImage. The Map object contains JAlbum $variables that may be useful for the filter implementer.

The preferred way to pass parameters to a filter is to implement setter methods for them. By using a smart BeanShell script in the init.hsh file in the JAlbum program directory, JAlbum is capable of passing attributes from the user defined variables section of the Advanced tab page to the corresponding setter method of a filter.

The plugins JAlbum directory contains not only the filter classes but also the source code for the filters described on this page. Feel free to use them as base for your own filters. You will probably find the SimpleFilter below a good base for your own filters. The plugins folder also contains a compile.bat file that simplifies compilation for you. As you develop filters, please note that you do not need to restart JAlbum in order to refresh the filter classes as they are dynamically loaded every time an album is being processed. Finally, if you make a cool filter, please send it to me for inclusion.

Exemple de code source pour un filtre

Le simple filtre suivant ajoute le logo de JAlbum dans un coin des images:

import se.datadosen.jalbum.JAFilter;
import java.awt.*;
import java.awt.image.BufferedImage;
import javax.swing.ImageIcon;

/**
 * JAlbum simple image filter adding a JAlbum logo to the
 * corner of images
 * @author David Ekholm
 * @version 1.0
 */
public class SimpleFilter implements JAFilter {

    // Implements JAFilter
    public String getName() {
        return "Simple filter";
    }

    // Implements JAFilter
    public String getDescription() {
        return "Add a JAlbum logo to the corner of images";
    }

    // Implements JAFilter
    public BufferedImage filter(BufferedImage bi, java.util.Map vars) {
        Graphics2D g = bi.createGraphics();
        ImageIcon windowIcon =
         new ImageIcon(se.datadosen.jalbum.JAlbumFrame.class.getResource(
          "smallicon.gif"));
        g.drawImage(windowIcon.getImage(), 0, 0, null);
        return bi;
    }
}