HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2008
1102
e-nikuスクリーンキャプチャ4未解決


e-niku

リンク

2008/11/2(Sun) 23:57:49|NO.20585

こんにちは。

ちょくとさんのスクリーンキャプチャのサンプルを使っていますが、
保存するとどうしても画質が悪くなってしまいます。
↓ここのサンプルスプリクトを使っています。
http://yokohama.cool.ne.jp/chokuto/advanced/capturescreen.html

OSはvistaで、画面解像度は1680x1050です。
何か原因があるのでしょうか?



この記事に返信する


あり

リンク

2008/11/3(Mon) 00:51:53|NO.20588

画面のプロパティの設定で、表示色設定が16ビットや24ビットになっているとか?
・・・逆だったかな?



e-niku

リンク

2008/11/3(Mon) 10:55:02|NO.20590

そうみたいです。
24ビットなどの場合は正常にコピーされないのでしょうか?



あり

リンク

2008/11/3(Mon) 11:57:24|NO.20591

具体的にどう画質が悪くなるのかわからないので
はっきりとは言えませんが
もし32ビットでキャプチャして画質が落ちなかったら
色情報が間引かれている可能性もありますね。

32ビットでも画質が落ちるのなら、他に問題があるのかもしれません。
私の環境では特に画質は悪くならないので・・・。



つくね

リンク

2008/11/12(Wed) 01:58:07|NO.20753

(画質が悪い=デバッグウインドウなどの文字がつぶれる現象として、レスします。)

bmpsaveの問題と思われます。

ちょくとさんのサンプルのDeleteDC hdcScreen の後ろに、
次のコードを入れると、原因が分かりやすいと思います。


screen 1, sx, sy gcopy 2, 0, 0, sx, sy

ちょくとさんのサンプルでは、画面のコピーをbuffer2に入れています。
これをscreen1にコピーし、表示するコードです。

screen1に表示される内容は、画質が良い状態です。
その後にあるbmpsaveで、画面を保存すると、画質が落ちます。
(screen1を保存しても同じです。)
※screen1のサイズは画面と同じなので、表示されていないように
見えるので、注意して下さい。

回避策として、buffer2などの内容を取得して、BMPデータを作り、
bsaveなどで保存する方法などが考えられますが、
そのあたりは、かなり高度な話題になりそうなので、
きれいな画像が必要な場合は、挑戦してみて下さい。

ちなみに、32bitが24bitに落ちても、画質は低下しないはずです。
BMP形式の場合
24bit:R,G,B 各8bit
32bit:R,G,B,予約 各8bit (予約の部分は、他の形式でアルファ(透明度)にあたる部分)



ONION software Copyright 1997-2023(c) All rights reserved.