画像の左右反転処理

http://processing.org/learning/libraries/mirror.html

↑のサンプルはWebカメラで画像を読み取ってちょっと加工して左右反転する処理なんだけど、
これを見る限りだと左右反転の処理を一発呼び出しでできる関数はないっぽい。なぜかない。


公式のサンプルはWebカメラがないと動かないし、画像も加工しているので適当に無印で動くように書きかえてみた。

int w = 200, h = 300;
size(w<<1, h, P2D);

PImage flip = createImage(w, h, ARGB);
PGraphics g = createGraphics(w, h, JAVA2D);

// 適当になんか描く
g.beginDraw();
g.colorMode(HSB, w);
for(int i=0; i<w; i++) {
  g.stroke(i, w, w);
  g.line(i, 0, i, h);
}
g.textSize(w>>2);
g.fill(0);
g.text("aiueo", w>>2, h>>1);
g.endDraw();

image(g, 0, 0);

// 反転処理
for(int ly=0; ly<h; ly++) {
for(int lx=0; lx<w; lx++) { 
  int i = lx + (ly*w);
  int j= (w-lx-1) + (ly*w); // -1を忘れずに
  flip.pixels[i] = g.pixels[j];
}}

image(flip, w, 0);
stroke(0); line(w, 0, w, h);

見て分かるけどたいしたことはやってにい。まぁ書いたんで一応うp