掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
単色のビットマップファイルを16色に変更するためには (ID:69453)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
俺が書いたputPixelは参考にならなかったのか。 そりゃ実際に動くか確認してないけどさ。 >for(i=0; i<8; i++) { > *(unsignedchar*)(aplane+HorizonBytes*i)|=or[i]|(pattern[i]>>shift); > or[i]=pattern[i]<<(8-shift); >} このiは縦座標のループなのか。 良くループにiを使うけど、最近俺は可読性が下がるのでやめた方がいいなって思っている。 ループがネストすると無条件でi,j,kって変数使ったりもする習慣だから変えるのは難しいところでもあるけど。 俺がputPixelで xが奇数なら下位4ビットを変えて上位4ビットは元の値のまま って説明したのに。 それと >少なくともビット演算はよく理解していないといけない。 とも説明している。 左辺 = 右辺 の左辺が4bppで右辺が1bppであることを理解していれば難しくないはずなんだけどなあ。 >*(unsignedchar*)(aplane+HorizonBytes*i)|=or[i]|(pattern[i]>>shift); putPixelを作っておおけば putPixel(x+ix, y-7+iy, (pattern[iy]&bits[ix])?color:0); みたいにもすませられるのに。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.