標準のフレームを使用しないウインドウのキャプチャ 投稿者:やまかわ 投稿日:2023/02/01(Wed) 21:07 No.7813
|
お世話になっております。 Windows11で標準のウインドウフレームを使用せず独自にフレームを描画しているウインドウをキャプチャすると角が欠けて処理されてしまいます。 単独でキャプチャするだけならクライアント領域のキャプチャで角の欠けを回避できますが、指定領域のキャプチャではそうもいかないため、手動ででも角の処理を無効化することができるとありがたいです。 |
Re: 標準のフレームを使用しないウインドウのキャプ... - MIZUSHIKI 2023/02/02(Thu) 07:14 No.7814 |
>Windows11で標準のウインドウフレームを使用せず独自にフレームを描画しているウインドウをキャプチャすると角が欠けて処理されてしまいます。
ご報告ありがとうございます。
すみません。下記のテスト版でも対象ウィンドウの角が掛けてしまうか確かめてみて頂けないでしょうか。 PriScVista ver.3.6β2(テスト版) http://suwa.pupu.jp/data/PriScVista_v36b2-test.zip
PriScVistaは、独自にフレームを描画しているアプリに対しても、ウィンドウスタイル等から判断して丸角かそうでないかを振り分けるようにしています。 上記のVer3.6β2テスト版では、その判定を少し見直しました。
ただこの判定ですが、類推で当てはめているため絶対確実に分類できるという訳ではありません。 それでも、なるべくなら手動での丸角切欠の有無変更は最終手段にしたいかなと思っております。
どうしても分類が無理そうだと判断したら、そのときは諦めて 手動での角の処理無効化 を導入したいと思います。
【お願い】 このテスト版、「アクティブウィンドウをキャプチャ」を行った場合のみですが、キャプチャ対象ウィンドウのスタイル情報を TEST_CapInfo.txt というテキストファイルに保存します。(PriScVista.exeと同じフォルダ)
もし、まだ角が欠けてキャプチャされてしまうといった場合は、このテキストファイルの中身を報告して頂けないでしょうか。 お手数お掛けしますが、何卒よろしくお願い致します。
|
Re: 標準のフレームを使用しないウインドウのキャプ... - MIZUSHIKI 2023/02/02(Thu) 18:31 No.7815 |
304テスト ClientRect=(0,0,1848,1288) FRAME_BOUNDS=(344,309,2196,1599) CORNER_PREFERENCE=0 WindowRect=(333,309,2207,1610) WindowLong-GWL_STYLE=0x14CF0000 WindowLong-GWL_EXSTYLE=0x00000100 CaptureRect=(344,309,2196,1599) Fill=1 RType=1 |
Re: 標準のフレームを使用しないウインドウのキャプ... - MIZUSHIKI 2023/02/02(Thu) 18:56 No.7816 |
投稿が出来ないとのことで、ご迷惑をお掛けしております。
以前も、何らかの文字列が原因で投稿ができないことがありました。 (304かは忘れてしまいましたが、HTTPエラーが出ていた記憶があります。) ちょっとその時も確たる原因を特定できていなくて、まだ この掲示板CGI に残ってしまっています。
申し訳ありませんが、どういう文字列で症状が出てしまうのか分かっていないので、下記のような方法で対処願えないでしょうか。
・適当に文章を分断して、投稿できるか試して頂く。 ・掲示板下部に文章修正用のフォームがあるので「コメントNo.」とコメント時に決めた「暗証キー」で文章修正に入ることができます。 ・上記の投稿/修正を繰り返して「問題の出る文字列」を回避しつつ、文章を整形してください。
おそらくこの方法で投稿できるようになると思います。 色んな所に不具合があってご不便をお掛けしていますが、何卒よろしくお願い致します。
|
Re: 標準のフレームを使用しないウインドウのキャプ... - やまかわ 2023/02/02(Thu) 19:15 No.7817 |
Rebelleというペイントソフトのパネルは3.6β2で角丸判定されなくなりました。 ClientRect=(0,0,306,447) FRAME_BOUNDS=(1352,44,1658,491) CORNER_PREFERENCE=0 WindowRect=(1352,44,1658,491) WindowLong-GWL_STYLE=0x96000000 WindowLong-GWL_EXSTYLE=0x00000080 CaptureRect=(1352,44,1658,491) Fill=0 RType=0 |
Re: 標準のフレームを使用しないウインドウのキャプ... - やまかわ 2023/02/02(Thu) 19:15 No.7818 |
CLIP STUDIO PAINTのダイアログやパレットは3.6β2でも角丸判定されます。 ClientRect=(0,0,267,225) FRAME_BOUNDS=(476,274,743,499) CORNER_PREFERENCE=0 WindowRect=(476,274,743,499) WindowLong-GWL_STYLE=0x94CE0000 WindowLong-GWL_EXSTYLE=0x00000100 CaptureRect=(476,274,743,499) Fill=1 RType=1 |
Re: 標準のフレームを使用しないウインドウのキャプ... - やまかわ 2023/02/02(Thu) 19:18 No.7819 |
CLIP STUDIO PAINTでもメインウインドウに関しては角丸判定されません(標準フレームではないのでOK)。 ClientRect=(0,0,800,600) FRAME_BOUNDS=(734,184,1534,784) CORNER_PREFERENCE=0 WindowRect=(734,184,1534,784) WindowLong-GWL_STYLE=0x14CF0000 WindowLong-GWL_EXSTYLE=0x00000100 CaptureRect=(687,154,1581,863) Fill=0 RType=1 |
Re: 標準のフレームを使用しないウインドウのキャプ... - やまかわ 2023/02/02(Thu) 19:19 No.7820 |
Adobe Photoshopのパネルは以前から角丸判定外ですが「アクティブウインドウをキャプチャ」ができない(メインウインドウがキャプチャされてしまう)のでTEST_CapInfo.txtはとれませんでした。 |
Re: 標準のフレームを使用しないウインドウのキャプ... - MIZUSHIKI 2023/02/03(Fri) 21:26 No.7821 |
な、なるほどね。。。
・・・と、言うことで。手動で角の処理を変更できるようにしました。 PriScVista ver.3.6β3(テスト版) http://suwa.pupu.jp/data/PriScVista_v36b3-test.zip
(一部ツールウィンドウに対して角判定の見直しを行いましたが、それでも分類は難しそうだと思ったので機能を追加しました。)
使い方ですが、 1. 角の修正は「指定領域をキャプチャ」から行います。 2. 修正したいウィンドウにマウスを合わせて「Shift+F1」を押してください。 3. 修正した角タイプは記憶されるので、その後は「アクティブウィンドウをキャプチャ」等にも反映されます。
急遽バタバタと作りましたので、もしかしたら不具合など至らない点が見つかるかもしれません。 とりあえず、使い方やイメージをお伝えするためのテスト版だと思ってお試しください。 |
Re: 標準のフレームを使用しないウインドウのキャプ... - やまかわ 2023/02/03(Fri) 22:30 No.7822 |
3.6β3確認しました。 角丸判定が間違っていてもShift+F1で変更できました。ありがとうございます。 (CLIP STUDIO PAINTのパレット・ダイアログの誤判定は改善されませんでした) |
Re: 標準のフレームを使用しないウインドウのキャプ... - MIZUSHIKI 2023/02/04(Sat) 00:37 No.7824 |
ご確認頂きありがとうございます。
>CLIP STUDIO PAINTのダイアログやパレットは3.6β2でも角丸判定されます。 >(CLIP STUDIO PAINTのパレット・ダイアログの誤判定は改善されませんでした)
CLIP STUDIO PAINT の体験版をインストールしてみまして、状況を理解できました。 これで一応「角かどウィンドウなのに丸かどに誤判定してしまう」ことは改善されたと思います。
PriScVista ver.3.6β4(テスト版) http://suwa.pupu.jp/data/PriScVista_v36b4-test.zip |
Re: 標準のフレームを使用しないウインドウのキャプ... - やまかわ 2023/02/04(Sat) 01:58 No.7829 |
3.6β4試しました。 当方の環境での既知の誤判定は全て改善したようです。 新たに見つかったものがあれば報告します。 |
|