mieki256's diary



2016/03/12() [n年前の日記]

#2 [prog] Processingで反転描画

Processing で画像を反転描画する方法を調べてたり。scale()を使えばできるらしいけど…。

こんな感じかな…。

sketch_image_flip_ss.png

_sketch_image_flip.pde
// 反転描画のテスト

PGraphics pg;

void setup() {
  size(256, 256);
  
  // 元画像作成
  pg = createGraphics(64, 64);
  
  pg.beginDraw();
  pg.background(128);
  pg.stroke(255);
  pg.line(48, 16, 48, 56);
  pg.line(16, 48, 56, 48);
  pg.endDraw();
}

void draw() {
  // 左上に元画像を描画
  image(pg, 0, 0);

  // 右上を描画。x方向を反転
  scale(-1, 1);
  image(pg, -pg.width * 2, 0);
  
  // 右下を描画。x方向に加えてy方向も反転
  scale(1, -1);
  image(pg, -pg.width * 2, -pg.height * 2);
  
  // 左下を描画。x方向を元に戻してy方向だけ反転してる状態に
  scale(-1, 1);
  image(pg, 0, -pg.height * 2);
  
  // y方向も元に戻す
  scale(1, -1);
  image(pg, pg.width * 2, pg.height * 2);
}

参考ページ。

_画像処理の原理 | Yasushi Noguchi Class
_画像の左右反転 | Codetter(こーどったー)β

これだけでは解決しなかった。 :

blend() という、乗算やスクリーンで描画する機能を使いながら反転表示したかったのだけど。どうやら blend() には、scale() 設定は反映されないようで。残念。

仕方ないので、手元で書いてるソースでは、元画像のピクセル値をコピーして反転描画する感じで解決したり。

以上です。

過去ログ表示

Prev - 2016/03 - Next
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project