Présentation des différentes formes plus ou moins complexes qu’AWT nous permet de gérer.
Continue reading
Les formes en AWT
Reply
Présentation des différentes formes plus ou moins complexes qu’AWT nous permet de gérer.
Continue reading
Présentation des transformations affines, du clipping (intersection de deux zones dessinées), des superpositions, des rendus (RenderingHints)
Continue reading
AffineTransform t = AffineTransform.getrotateinstance(Math.toRadian(angle), centreX, centreY) AffineTransformOp op = new AffineTransformOp(t, AffineTransformOp.TYPE_BILINEAR); of.filter(image, destination);
TYPE_BILINEAR
: meilleur rendu, mais plus long. On peut utiliser TYPE_NEAREST_NEIGHBOR
à la place (+ rapide).
RescaleOp
LookupOp
Utiliser pour cela une LookupTable, par exemple pour faire le négatif d’une image
byte neg[] = new byte[256] for int i=0; i<256; i++) { neg[i] = 255-i; } ByteLookupTable table = new ByteLookupTable(0, neg); LookupOp op = new LookupOp(table, null);
ColorConvertOp
// Créer une matrice de float[] flou = new float[] { 1/9, 1/9, 1/9, 1/9, 1/9, 1/9, 1/9, 1/9, 1/9 } contours = new float[] {0, -1, 0, -1, 4, -1, 0, -1, 0}) Kernel k = new Kernel(3, 3, matrice); new ConvolveOp(kernel).filter(image, destination);
La technique à mettre en place pour bien gérer ses glisser-déplacer entre deux composants (swing ou externes)
Continue reading
Détail de la manière à employer pour utiliser au mieux le presse papier du système.
Continue reading