Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
recherche:residence_corruption:corruption_litteraire [2019/10/01 18:18] gweltaz [Le sketch Processing de présentation] |
recherche:residence_corruption:corruption_litteraire [2019/10/01 18:35] gweltaz [Le sketch Processing de présentation] |
||
---|---|---|---|
Ligne 162: | Ligne 162: | ||
===== Le sketch Processing de présentation ===== | ===== Le sketch Processing de présentation ===== | ||
+ | Le programme est disponible en téléchargement sur GitHub.\\ | ||
+ | J'ai recopié ici quelques passages intéressants et facilement applicables à d'autres sketches Processing pour glitcher l'image.\\ | ||
<accordion> | <accordion> | ||
- | <panel title="glitching d'inversion de couleurs (cliquer pour afficher le code)"> | + | <panel title="Rectangles d'inversion de couleurs (cliquer pour afficher le code)"> |
<code java> | <code java> | ||
void glitchScreen(int n) { | void glitchScreen(int n) { | ||
Ligne 180: | Ligne 182: | ||
} | } | ||
updatePixels(); | updatePixels(); | ||
+ | } | ||
+ | </code> | ||
+ | </panel> | ||
+ | </accordion> | ||
+ | |||
+ | <accordion> | ||
+ | <panel title="Pixelisation de l'écran (cliquer pour afficher le code)"> | ||
+ | <code java> | ||
+ | void pixelateScreen(int n) { | ||
+ | loadPixels(); | ||
+ | for (int y=0; y<height; y+=n) { | ||
+ | for (int x=0; x<width; x+=n) { | ||
+ | for (int yy=0; yy<n; yy+=1) { | ||
+ | for (int xx=0; xx<n; xx+=1) { | ||
+ | pixels[min(x+xx + (y+yy)*width, pixels.length-1)] = pixels[x+y*width]; | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | updatePixels(); | ||
+ | } | ||
+ | </code> | ||
+ | </panel> | ||
+ | </accordion> | ||
+ | |||
+ | <accordion> | ||
+ | <panel title="Décalage des canaux R et B (cliquer pour afficher le code)"> | ||
+ | <code java> | ||
+ | void rbGlitch(int n) { | ||
+ | loadPixels(); | ||
+ | PImage buffer = createImage(width, height, RGB); | ||
+ | buffer.loadPixels(); | ||
+ | for (int i=0; i<pixels.length; i++) { | ||
+ | buffer.pixels[i] = (pixels[i] & 0xff00ff00) + | ||
+ | (pixels[min(pixels.length-1, i+n)] & 0xff0000ff) + | ||
+ | (pixels[max(0, i-n)] & 0x00ff0000); | ||
+ | } | ||
+ | buffer.updatePixels(); | ||
+ | image(buffer, 0, 0); | ||
} | } | ||
</code> | </code> | ||
</panel> | </panel> | ||
</accordion> | </accordion> |