C#のSetPixel()について
C#のSetPixel()について
C#のSetPixelメソッドですが、これはピクセル単位でのColor値割り当てですから大変遅いですよね。実際300×300でこのメソッドを使用したところ0,3秒程かかりました。画像の大きさ分のColor値を全て配列に格納しておいて、一気に割り当てるメソッドはないでしょうか?無いにしても0,3秒はかかりすぎなので高速化したいのですが、方法はありますか?
Re: C#のSetPixel()について
だんごさん
ありがとうございます!!
r,g,b,grayの操作を直接できるんですね。
載せて頂いたプログラムではグレーにするそうですが、r,g,bだけいじってgrayとかはよくわからないから触りたくないんですが、これはどう扱えばいいんでしょうか?
ありがとうございます!!
r,g,b,grayの操作を直接できるんですね。
載せて頂いたプログラムではグレーにするそうですが、r,g,bだけいじってgrayとかはよくわからないから触りたくないんですが、これはどう扱えばいいんでしょうか?
Re: C#のSetPixel()について
http://www.84kure.com/blog/2014/07/13/c ... %E3%82%B9/
このページ大変参考になりますが、読み込む画像を黄色にして方法3: ビットマップをシステムメモリにロックして直アクセスする (バイト単位)でi=0のときのr,g,bを表示したところ0,242,254となっていました。ところがr=0 g=242 b=254のとき、RGB値を指定して色を表示するサイトで試したところ水色になっていました。もしかしてbyte r,g,bで読み込んだ値って実は、順番が逆なんでしょうか? RGBではなくBGRで読み込まれるんでしょうか?
このページ大変参考になりますが、読み込む画像を黄色にして方法3: ビットマップをシステムメモリにロックして直アクセスする (バイト単位)でi=0のときのr,g,bを表示したところ0,242,254となっていました。ところがr=0 g=242 b=254のとき、RGB値を指定して色を表示するサイトで試したところ水色になっていました。もしかしてbyte r,g,bで読み込んだ値って実は、順番が逆なんでしょうか? RGBではなくBGRで読み込まれるんでしょうか?
Re: C#のSetPixel()について
よく見たらその可能性がありますね。notebook さんが書きました:もしかしてbyte r,g,bで読み込んだ値って実は、順番が逆なんでしょうか?
その方法でやるのでしたら、Bitmap処理を高速化するサンプル こちらが分かりやすいかと思います。
Dango San