画像回転でデフォルト画像としてパターン画像を生成していたのだが,友人に美しいパターンの生成方法を教わった.生成式は x 座標と y 座標の XOR で.これをやると見事なパターンがでる.
モノクロならこんな感じで.(パターンを描いたスクリーンショット)
for(int i = 0 ; i < ImageHeight ; i++) { for(int j = 0 ; j < ImageWidth ; j++) { *p++ = (i^j)&0xff; } }
色つけるならこんな感じで.
for(int i = 0 ; i < ImageHeight ; i++) { int r = (i * 0xFF) / ImageHeight; for(int j = 0 ; j < ImageWidth ; j++) { int y = (i^j)&0xff; int ry = r * y/0xff; int gy = (( j * 0xFF ) / ImageWidth) * y/0xff; int by = (~r&0xff) * y/0xff; *p++ = 0xff000000 | ry << 16 | gy << 8| by; } }
- Newer: ことはじめ