プレイ日記
GSAVEで画像ファイルの中身を見てみる。 画像と見比べると要素と画素は一対一みたい。 どうやって255,255,255で24bitの色情報をこんな小さい値に変換してるんだろ?
3そうだね
プレイ済み
返信[1]
親投稿
MIKI ifconfig
R8bit G8bit B8bit alpha(実質1bit)を R5bit G5bit B5bit alpha1 に変換しています。 8->5bit変換は単純に 8 で割って切り捨てらしい。 ((R>>3)<<10)or((G>>3)<<6)or((B>>3)<<1)+!!alpha
3そうだね
プレイ済み
返信[2]
親投稿
じゃあGLOADで描写処理を行うと3bitまでは切り捨てられて反映されないことになるんですね…… そして何げにビットシフトの使い方が凄い。データをひとまとめにしたいときにまとめる値にわざわざ16とか64とか1024とか掛けてたから面倒だったなぁ 御教授頂きありがとうございます
1そうだね
プレイ済み
返信[3]
親投稿
Godot orz_127
MIKIさん αは頭尾逆になるかと。
1そうだね
プレイ済み
返信[4]
親投稿
MIKI ifconfig
いやいや そもそも G? 画面は 16bit なので gpset 0,0,RGB(a,r,g,b) で点を打って rgbread gspoit(0,0) out a1,r1,g1,b1 で読んでみると、r と r1, gとg1, bとb1 は一致しない(8の倍数の時だけ一致する)ことが分かるでしょう。 24bitの表現力は持ち合わせていないのです。
2そうだね
プレイ済み
返信[5]
親投稿
おちゃめ ochame_nako
GLOADに関係なくプチコン3号上では表示色は16bitに丸められます。 GPSETしたドットをGSPOTで読み出すだけでRGBの各値は8の倍数に丸められます。
2そうだね
プレイ済み
返信[6]
親投稿
MIKI ifconfig
Godot さん 32bit 表現で A8bit R8bit G8bit B8bit 16bit 表現で R5bit G5bit B5bit A1bit てことですよね。 私の書き方はミスリーディングぽかったですね。申し訳ない。 おちゃめさん、おひさしぶり! 髪の毛ちょっと伸びましたね?
3そうだね
プレイ済み
返信[7]
親投稿
スマイルツールでPSETしたあとにスポイト機能すると大抵色が違うのはそういうことなんですね
2そうだね
プレイ済み