2012-03-13 8 views
4

私はSetPixelVを使ってウィンドウに画像を直接表示しようとしていますが、確かにあなたはそれがとても遅く、遅すぎるのはわかりませんそれを使用する。誰かが、SetPixelVの方が速い(ウィンドウではなく)画面に直接表示する方法の正しい方向に私を指摘できますか? (プラットフォームに依存しない必要はありません)SetPixel()よりもピクセルを変更する方法が速い

+0

常にウィンドウに描画する必要があります。デスクトップ自体はウィンドウです。 –

+0

MSDN(特に最後の段落)の[この記事](http://msdn.microsoft.com/en-us/library/dd183562%28v=vs.85%29.aspx)をお読みください。 –

+0

@ MarkRansom:それを見るには奇妙な方法です。デスクトップを表すウィンドウハンドルがありますが、それはあなたが「スクリーン」に「直接」描くことを妨げるものではありません。 'BitBlt()'を含むデバイスコンテクスト関数を使って、デバイスコンテキストを画面や表示デバイスに取得し、デバイスコンテキストを直接描画することができます。 –

答えて

2

BitBltと呼ぶことができます。それはあなたがすでに画像全体を持っていると仮定しています。個々のピクセルは設定されません(1ピクセルの画像をたくさんblitしない限り、開始した場所よりも速度が遅い可能性があります)。

4

イメージをメモリに構築し、SetDIBitsToDeviceを使用してイメージをコピーできます。

関連する問題