画像回転でデフォルト画像としてパターン画像を生成していたのだが,友人に美しいパターンの生成方法を教わった.生成式は 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: ことはじめ