C♯相談室 Part24
■ このスレッドは過去ログ倉庫に格納されています
0039デフォルトの名無しさん
2005/06/03(金) 17:01:11値をいじって色調を変えようとしているんですが、どうもうまく行きません。
pscanline = bd.Scan0;
stride = bd.Stride;
for (int y = 0; y < h; y++)
for (int x = 0; x < w * 3; x ++) {
Color color = Color.FromArgb(Marshal.ReadInt32(pscanline, x + y * stride));
c = Convert.ToInt32(color.R * rf);
r = (c > 255) ? (byte)255 : Convert.ToByte(c);
c = Convert.ToInt32(color.G * gf);
g = (c > 255) ? (byte)255 : Convert.ToByte(c);
c = Convert.ToInt32(color.B * bf);
b = (c > 255) ? (byte)255 : Convert.ToByte(c);
Marshal.WriteInt32(pscanline, x + y * stride, Color.FromArgb(color.A, r, g, b).ToArgb());
}
bmp.UnlockBits(bd);
こんな感じでやってるんですけど、色ごとの変化がうまく行かず、明るさだけ変化
しているようなおかしな感じなんです。ぱっと見変な所があります?
■ このスレッドは過去ログ倉庫に格納されています