Bannière du site

Guide utilisateur jAlbum

fleche_haut

jAlbum / Plus d'infos sur les filtres d'image

Les filtres d'image peuvent être appliqués pour améliorer les images lors de la génération de l'album, pour ajouter un filigrane, un logo, etc. Les filtres d'image peuvent être appliqués aux images, aux vignettes ou aux deux. Plusieurs filtres peuvent être enchaînés pour produire l'effet désiré. Imaginez l'application en premier la réduction des yeux rouges, puis la netteté d'image et enfin ajouter votre logo dans un coin. Un exemple de l'API et le code open source sont fournis afin que les développeurs puissent facilement ajouter de nouveaux filtres.

Un panneau d'effets a été ajouté dans jalbum 12. Depuis ce panneau, vous pouvez facilement ajouter des filigranes (texte et/ou logo), niveaux de gris, contrastes et quelques filtres Arty. Tous les filtres disponibles ne sont pas ajoutés à l'interface utilisateur, ils peuvent être contrôlés avec des paramètres relativement simples dans la section "Variables utilisateur" de la page Avancées.

Contenus

Petit exemple



Remarque, dans les sections détaillées ci-après le caractère '|' représente 'ou', true|false signifie que la valeur peut être true ou false

Comme apprendre par l'exemple est le meilleur, nous allons donc commencer par appliquer un filtre en niveaux de gris à chaque vignette et ajouter un copyright de droit d'auteur à l'angle de chaque image agrandie. (Pour une description formelle des fonctionnalités de filtrage disponibles, voir ci-dessous.)

Démarrez l'application jAlbum et préparer un projet pour la création de l'album. Maintenant, allez à la page Avancées de jAlbum. Vous y trouverez une section appelée "Variables utilisateur". Nous allons utiliser cette section pour définir les propriétés de nos filtres. Entrez exactement comme le montre cet exemple. Faites attention aux majuscules, ("GrayscaleFilter" est différent de Grayscalefilter").

ImageFilters1.png
Définition des propriétés de filtre sur la page Avancées

Maintenant, allez à la page principale et cliquez sur la flèche à droite de "Créer l'album" et cliquez sur "Créer tout" pour générer l'album avec les filtres appliqués. (En cliquant directement sur "Créer l'album" jAlbum ne traite pas les images si elles existent déjà, d'une génération précédente de l'album.) Les vignettes et les images devraient maintenant ressembler à ceci :

ImageFilters1Applied.png
La vignette et l'image traitées par les filtres niveaux de gris et texte

Les filtres sont appliqués dans l'ordre où ils sont numérotés (filter1, filtre2 etc). Les paramètres de filtre sont enregistrés avec le projet d'album, alors n'oubliez pas de sauvegarder votre projet lorsque vous êtes satisfait de vos paramètres.

Les filtres

Voici une liste des filtres initialement prévus et leurs propriétés (fonctions). De nouveaux filtres peuvent être installés en mettant leurs fichiers de classe Java dans le dossier plugins de jAlbum. Tous les filtres nécessitent d'avoir la propriété de classe indiquée comme identificateur de filtre. Tous les filtres acceptent les propriétés thumnails et closeup qui contrôlent si le filtre doit être appliqué seulement aux vignettes, aux images ou aux deux à la fois. Par défaut, les filtres s'appliquent aux deux à la fois.

glodlampa.png

Il manque un filtre ? S'il vous plaît chercher également des filtres faits par les utilisateurs de jAlbum dans le forum.


Filtre Niveaux de gris

BeforeAfter.jpg
Convertit les images en niveau de gris.
Propriété Valeur Sens
class GrayscaleFilter Identifiant du filtre (nécessaire)
thumbnails true|false Appliquer aux vignettes ?
closeups true|false Appliquer aux images ?
prescale true|false Appliquer le filtre avant le redimensionnement ? ?

Exemple

class=GrayscaleFilter

Applique le filtre gris à la fois aux vignettes et aux images.

Filtre Teinte

BeforeAfter2.jpg
Permet de régler la couleur des images.
Propriété Valeur Sens
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 le redimensionnement ?
redPercent Strength in percent Couleur Rouge (100 par defaut)
greenPercent Strength in percent Couleur Verte (100 par defaut)
bluePercent Strength in percent Couleur Bleue (100 par defaut)

Exemple

class=TintFilter redPercent=100 greenPercent=60 bluePercent=60

Applique une teinte rougeâtre aux images.

glodlampa.png

Vous pouvez obtenir des effets intéressants en combinant le filtre niveaux de gris avec le filtre Teinte.


Filtre Logotype

BeforeAfter3.jpg
Ajoute une image/logo de votre choix sur les images de l'album
Propriété Valeur Sens
class LogoFilter Identifiant du filtre (nécessaire)
thumbnails true|false Appliquer aux vignettes ?
closeups true|false Appliquer aux images ?
prescale true|false Appliquer le filtre avant le redimensionnement ?
src URL de l'image N'importe quelle URL valide (http:// <a href="file:///">file:///</a> etc.)
angle Angle du logo en degrés, tourne autour du centre du logo (0)
strengthPercent Opacité en pourcentage Contrôle la visibilité du logo. (100)
align left|center|right Alignement horizontal du logo (left)
valign top|center|bottom Alignement vertical du logo. (top)
margin Marge en pixels Distance du logo à partir du bord de l'image. (0)
offset Décalage horizontal en pixels Réglage fin horizontal du placement en pixels. (0)
voffset Décalage vertical en pixels Réglage fin vertical du placement en pixels. (0)

Exemples

class=LogoFilter src="http://blog.jalbum.net/dor.png" strengthPercent="50" closeups

Ajoute un logo jAlbum à partir de l'URL (adresse web) du site web de jAlbum, au centre des images.

class=LogoFilter src="file:///C:/adir/anotherdir/animage.jpg" closeups

Ajoute une image depuis le disque dur local au lieu d'un emplacement distant.

Filtre Texte

BeforeAfter4.jpg
Ajoute des textes aux images de l'album.
Propriété Valeur Sens
class TextFilter Identifiant du filtre (nécessaire)
thumbnails true|false Appliquer aux vignettes ?
closeups true|false Appliquer aux images ?
prescale true|false Appliquer le filtre avant le redimensionnement ?
src URL de l'image N'importe quelle URL valide (http:// <a class="externallink" rel="nofollow" href="file:///">file:///</a> etc)
text Texte à afficher Permet d'utiliser des $variables jAlbum comme $originalDate et $comment pour incorporé du contenu dynamique
color Définition HTML de la couleur Accepte des noms de couleurs standards Netscape et Internet Explorer comme "pink", #rrggbb et le format r,g,b,a
face Nom de la police Nom valide à partir des noms de police de votre système comme "Helvetica", "Verdana", "Courier New" etc
style plain|bold|italic|bolditalic Style de la police (bold)
size Taille de la police en pixels (16)
angle Angle du texte, en degrés, tourne autour du centre du texte (0)
antialias true|false Anticrénelage permet des bords doux. (true)
align left|center|right Alignement horizontal du texte. (left)
valign top|center|bottom Alignement vertical du texte. (top)
margin Marge en pixels Distance du texte par rapport au bord de l'image. (5)
offset Décalage horizontal en pixels

Réglage fin horizontal du placement en pixels. (0)

 
voffset Décalage vertical en pixels Réglage fin vertical du placement en pixels. (0)

Exemple

class=TextFilter text="Date: $fileDate" size=20 color=#aaffaa closeups

Ajoute en haut la date du fichier de l'image dans une couleur vert clair

Filtre Ombre du Texte

BeforeAfter5.jpg
Comme le filtre texte mais ajoute également une ombre portée.

Propriétés spécifiques (voir filtre texte pour les autres)

Propriété Valeur Sens
class ShadowTextFilter Identifiant du filtre (nécessaire)
shadowColor Définition HTML de la couleur Couleur de l'ombre. Accepte des noms de couleurs standards Netscape et Internet Explorer comme "pink", #rrggbb et le format r,g,b,a
shadowDistance Distance en pixels (2)

Exemple

class=ShadowTextFilter text="Date: $fileDate" size=20 color=#aaffaa closeups

Ajoute la date du fichier de l'image en haut dans une couleur vert clair avec une ombre noire.

Filtre Filigrane

BeforeAfter6.jpg
Comme le filtre texte mais avec un effet de filigrane
Propriété Valeur Sens
class WatermarkFilter Identifiant du filtre (nécessaire)
strengthPercent Intensité en pourcentage Controle la visibilité du filigrane. (20)

Exemple

class=WatermarkFilter text="jAlbum" size=30  closeups valign=bottom margin=0

Ajoute un filigrane "jAlbum" près du bord gauche inférieur

Filtre Zoom

BeforeAfter7.jpg
Zoom sur les images. Utile pour rendre les vignettes plus lisibles
Propriété Valeur Sens
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 le redimensionnement ?

Exemple

class=ZoomFilter prescale thumbnails zoomPercent=30

Applique le filtre zoom aux vignettes. Notez l'attibut "prescale" (important pour les vignettes)

Filtre Forme Fixe

BeforeAfter8.jpg
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 le même format. (portrait, carré, etc.).
Propriété Valeur Sens
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 le redimensionnement ?

Exemple

class=FixedShapeFilter prescale thumbnails

Applique le filtre forme fixe aux vignettes. Notez l'attribut "prescale" (important pour les vignettes).

Filtre Accentuation

BeforeAfter9.jpg
Accentuer les images
Propriété Valeur Sens
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 le redimensionnement ?

Exemple

class=SharpenFilter closeups

Applique une augmentation de la netteté aux images.

Filtre Flou

BeforeAfter10.jpg
Donne du flou aux images
Propriété Valeur Sens
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 le redimensionnement ?
radius 0-100 Quantité de flou. 30 par défaut

Exemple

class=BlurFilter closeups

Applique un flou aux images.

Filtre Rotation

BeforeAfter11.jpg
Rotation des images suivant la valeur indiquée en degré ou de façon aléatoire (par image)
Propriété Valeur Sens
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 le redimensionnement ?
angle Angle en degrés Angle de rotation des images (ou limite pour la rotation aléatoire, si celle-ci est sélectionnée) (15)
random true|false Pour appliquer une rotation aléatoire à chaque image (limite est défini par la valeur de l'angle)

Exemple

class=RotationFilter angle=10 random thumbnails prescale

Rotation aléatoire des vignettes de -10 à 10 degrés.

Filtre Bordure étendu

BeforeAfter12.jpg
Ajoute des bordures, cadres et ombres de votre choix aux images d'albums.
Propriété Valeur Sens
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 le redimensionnement
bgCol Définition HTML de la couleur background color for tranparent parts of shadows and frames
bgFile URL vers image jpeg, png ou gif fichier de fond graphique à utiliser pour les parties transparentes des ombres et des cadres
bgOffX décalage x en pixels décalage x pour bgFile (nouveauté avec V0.95 β)
bgOffY décalage y en pixels décalage y pour bgFile (nouveauté avec V0.95 β)
boBlend true|false Fondu des bandes de couleur de bordure
boClip Rayon de l'angle arrondi des bordures en pixels la bordure peut avoir des coins arrondis
boCol (liste de(s)) définition(s) de couleur HTML couleur de la bordure
boMargin La marge des bordures en pixels La marge entre les bordures et le bord de l'image
boTrans (liste de(s)) transparence(s) des cadres 0 est opaque, 100 totalement transparent (invisible)
boWidth La largeur des bordures en pixels Les 4 cotés ont la même Valeur
boWidthE La largeur de la bordure "Est" en pixels seulement E
boWidthN La largeur de la bordure "Nord" en pixels seulement N
boWidthS La largeur de la bordure "Sud" en pixels seulement S
boWidthW La largeur de la bordure "Ouest" en pixels seulement W
brCol couleur des crochets (parenthèses) (nouveauté de la version V0.96)
brStyle style des crochets (nouveauté de la version V0.96)
brThick épaisseur de ligne des crochets (nouveauté de la version V0.96)
brX longueur des branches horizontales des crochets (nouveauté de la version V0.96)
brY longueur des branches verticales des crochets (nouveauté de la version V0.96)
clip rayon de l'arrondi en pixels un angle arrondi
debug active la sortie du débogage seulement pour les développeurs
frBlend true|false Fondu des bandes de couleur du cadre
frCol (liste de(s)) définition(s) de couleur HTML couleur du cadre
frTrans (liste des) transparences des cadres 0 est opaque, 100 totalement transparent (invisible)
frWidth Largeur du cadre en pixels les 4 cotés ont la même Valeur
frWidthE Largeur du cadre "Est" en pixels seulement E
frWidthN Largeur du cadre "Nord" en pixels seulement N
frWidthS Largeur du cadre "Sud" en pixels seulement S
frWidthW Largeur du cadre "Ouest" en pixels seulement W
shCol HTML color definition couleur de l'ombre
shDir NE|SE|NW|SW direction de l'ombre portée
shDrop hard|norm|soft dégradé de l'ombre portée
shTrans La transparence d'ombre minimale La transparence 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édent d'ombre suivant x en pixels Largeur d'ombre en excès sur le côté opposé
shExY excédent d'ombre suivant y en pixels Largeur d'ombre en excès sur le côté opposé

Exemples

class=XBorderFilter frWidth=20 frCol=ivory shWidth=15 closeups

Ajoute un cadre et une ombre portée à vos images.

class=XBorderFilter boWidth=20 boCol=ivory closeups

Ajoute une bordure à vos images.


Ajout de filtres aux skins

Cette section est destinée aux programmeurs Java qui souhaitent améliorer jAlbum avec de nouveaux filtres d'image.

Les filtres d'image jAlbum sont des classes java, ajoutées dans le répertoire de plugins qui implémentent la petite Interface se.datadosen.jalbum.JAFilter. Un filtre jAlbum devrait également respecter la spécification JavaBean, Direction :

  • Fournir un constructeur non-argumenté
  • Les méthodes getters et setter doivent suivre la convention de nommage JavaBean.
  • Le filtre doit être sérialisable

Une interface se.datadosen.jalbum.JAFilter doit fournir des méthodes getter pour le nom et une description à peu près comme une Applet. La troisième méthode est la méthode de filtre qui prend comme arguments un BufferedImage et une java.util.Map et retourne un BufferedImage modifié. Un filtre est autorisé à manipuler directement le BufferedImage passé. L'objet Map contient des $variables jAlbum qui peuvent être utiles pour la mise en œuvre du filtre.

La meilleure façon de passer des paramètres à un filtre doit implémenter les méthodes setter pour eux. En utilisant un script BeanShell intelligent dans le fichier init.hsh dans le dossier du programme jAlbum, jAlbum est capable de passer des attributs pour la méthode setter correspondant d'un filtre.pour l'onglet Variables utilisateur de la page Avancées.

Le dossier plugins de jAlbum contient non seulement les classes de filtres, mais aussi le code source pour les filtres décrits sur cette page. Sentez-vous libre de les utiliser comme base pour vos propres filtres. Vous trouverez ci-dessous un filtre simple probablement une bonne base pour vos propres filtres. Le dossier plugins contient également un fichier compile.bat qui vous simplifie la compilation. Lorsque vous développez des filtres, s'il vous plaît noter que vous n'avez pas besoin de redémarrer jAlbum afin de rafraîchir les classes de filtre car elles sont chargées dynamiquement chaque fois qu'un album est en cours de traitement. Enfin, si vous faites un filtre cool, s'il vous plaît envoyer-le moi pour l'inclusion.

Exemple Code source de filtre

Le filtre simple suivant ajoute un logo jAlbum dans le 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;
    }
}

Plus d'exemples

Ajout d'une zone rouge haute de 30px au bas des images de diapositive avec une adresse Web en texte blanc.

Nom Valeur
filter1 class=XBorderFilter frWidth=0 frWidthS=30 frCol=#ff0000 closeups
filter2 class=TextFilter text="MyWebsite.com" size=24 align=center valign=bottom margin=0 color=white closeups