Windowsのディスプレイ拡大設定値の取得

ホーム フォーラム CF2.5使用法全般 Windowsのディスプレイ拡大設定値の取得

  • このトピックには8件の返信、2人の参加者があり、最後にmakotoにより1年、 6ヶ月前に更新されました。
9件の投稿を表示中 - 1 - 9件目 (全9件中)
  • 投稿者
    投稿
  • #34165
    makoto
    参加者

    連投失礼します。
    Windowsのディスプレイ設定で拡大縮小率を取得する方法はありますか?
    添付画像の部分の数値そのものか選択番号のようなものです。

    環境依存だと思いますが、ここが100%以外の場合に文字フォントのサイズがおかしくなる方がいらっしゃるようで、数値によって分岐させて対応しようとしていますが、エクステンションにもそういったものは見つけられず・・・。

    Attachments:
    You must be logged in to view attached files.
    #34170
    ASD
    キーマスター

    「ウィンドウコントロール」でスケール後の解像度が、「The Big Box」でスケール無関係の解像度が取得可能です。。それらの差を計算して拡大率を算出します。

    ※小数点以下の値が含まれる計算結果が出る場合に備え、*1.0を付けること。

    ※元の解像度が1920×1080の場合
    100%:1920×1080
    125%:1536×864
    150%:1280×720
    175%:1097×617

    (1920/(1536*1.0))*100 = 125

    175%の場合、175.023となるので、Int関数で小数点以下を切り捨てます。

    – サンプルプログラム
    https://blog.clickteam.jp/wp-content/uploads/2020/09/cf25_blog_2020-09-12_画面のスケーリング率を取得.zip

    #34172
    makoto
    参加者

    すみません。
    Developer版でないためKernel objectというエクステンションが利用できず、mfaが開けません・・・。
    とりあえずウィンドウコントロールとThe Big Boxで色々な幅を取得してみましたが、「スケール後の解像度」は取得できませんでした。
    以下、実解像度3840×2160、拡大率200%、ゲームウインドウサイズ640×480での結果です。

      ウインドウコントロール
        WinXSize    646
        ClientWidth   640
        FrameWinXSize  640
        ScreenXSize   3840
      
      The Big Box
        ScrWidth    3840

    他に手がありましたらご教示ください。

    #34174
    ASD
    キーマスター

    すみません。必要ないのに入れっぱなしになっていました。

    – サンプルプログラム
    https://blog.clickteam.jp/wp-content/uploads/2020/09/cf25_blog_2020-09-12_画面のスケーリング率を取得.zip

    #34177
    makoto
    参加者

    頂いたMFAを実行しましたが、拡大率100%でも200%でも
      ScreenXSize( “Window Control” ) 3840
      ScrWidth( “The Big Box” )     3840
    となり、結果が
      100
    となりました。

    色々調べたところ、ゲームエンジン(?)によって拡大率が影響するものとしないものがあるようです。
      CF2.5+   ウインドウには影響しない+フォントには影響する
      ウディタ  影響する
      アクツク  影響しない
    原因の一つでしょうか。サンプルの画像を添付します。

    これも仕様だと思い、フォント固定で逃げることにします。
    ありがとうございました。

    Attachments:
    You must be logged in to view attached files.
    #34185
    ASD
    キーマスター

    こちらでは以下の通り、スケールを上げるとそれに合わせてアプリの画面も拡大され、返ってくる値も変わります。ですが、質問者様の方では、CFのアプリに変化がありません。

    こちらは、良くあるIntelのオンボードグラフィックですが、もしかしたらグラボによって環境依存があるのかもしれません。

    #34186
    ASD
    キーマスター

    推測ですが、質問者様の環境が3840×2160という超高解像度であることが原因かもしれません。1920×1080にまで落とした上でスケーリングを変えてみて変化があるか確認してみてください。

    #34188
    makoto
    参加者

    お世話になります。
    1920×1080の100%と175%で試しましたが結果は変わらずでした。
    グラボはNVIDIA GeForce GTX1660Tiで、オンボードグラフィックはBIOSでオフってます。
    ちなみに、不具合の連絡を頂いた方はGeForce GTX750Tiだそうで、NVIDIA+拡大率変更時に限った話なのかもしれません・・・。
    とりあえず今回は絆創膏対応しますw。

    • この返信は3年、 7ヶ月前にmakotoが編集しました。
    Attachments:
    You must be logged in to view attached files.
    #36923
    makoto
    参加者

    本当に今更ですが、今回の294.10 UPDATEで本件が解決したようです。
    おそらく以下の修正によるものだと思います。

    – UI: the Fusion UI is now DPI-aware, i.e. it’s not scaled by Windows. This allows you to display more from on larger monitors. By default the zoom coefficient of some editors is adjusted by default.

    今まではわざわざ起動時にExtensionでDPI取得してフォントの拡大縮小率を計算し・・・なんてことをしてましたが、ひと手間減りましたw。

    一応ご報告まで。

9件の投稿を表示中 - 1 - 9件目 (全9件中)
  • このトピックに返信するにはログインが必要です。