アカウント名:
パスワード:
高DPI対応とは名ばかりのクソアプリとか高DPIでレイアウトがめちゃくちゃになってもまったく対応する気のないアプリとかを、ようやく高DPI環境でまともに使えるようになった。
ちなみにSystem (Enhanced)は新機能だけど、Systemに相当する設定("DPIunaware" shim)は従来から存在していた。ただ従来は標準でUIがなかったので、アプリのmanifestを無理やり書き換えるとかApplication Compatibility Toolkitをインストールするとかする必要があったし、表示がぼやけるのでそこまでする気にもあまりなれなかった。
(以下、デスクトップアプリの開発者向けの情報)mmc.exeのmanifestによると、
> StretchBltなどで縮小コピーすればいい。
ちょっと訂正。CreateCompatibleDC/CreateCompatibleBitmapで作成したビットマップは、すでに内部的に指定サイズ*DPIスケールになっているみたい(GetObjectしてbmWidthBytesを見るとわかる)。だから縮小コピーするのはStretchDIBitsでDIBからコピーするところ。CreateDIBSectionで作成したビットマップは指定通りのサイズになるみたい。ビットマップへの直接アクセスが得られるから当たり前だけど。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
ソースを見ろ -- ある4桁UID
DPIスケーリングの互換性オプション追加が最高 (スコア:2, 参考になる)
高DPI対応とは名ばかりのクソアプリとか高DPIでレイアウトがめちゃくちゃになってもまったく対応する気のないアプリとかを、ようやく高DPI環境でまともに使えるようになった。
ちなみにSystem (Enhanced)は新機能だけど、Systemに相当する設定("DPIunaware" shim)は従来から存在していた。ただ従来は標準でUIがなかったので、アプリのmanifestを無理やり書き換えるとかApplication Compatibility Toolkitをインストールするとかする必要があったし、表示がぼやけるのでそこまでする気にもあまりなれなかった。
(以下、デスクトップアプリの開発者向けの情報)
mmc.exeのmanifestによると、
Re:DPIスケーリングの互換性オプション追加が最高 (スコア:0)
> StretchBltなどで縮小コピーすればいい。
ちょっと訂正。CreateCompatibleDC/CreateCompatibleBitmapで作成したビットマップは、すでに内部的に指定サイズ*DPIスケールになっているみたい(GetObjectしてbmWidthBytesを見るとわかる)。だから縮小コピーするのはStretchDIBitsでDIBからコピーするところ。CreateDIBSectionで作成したビットマップは指定通りのサイズになるみたい。ビットマップへの直接アクセスが得られるから当たり前だけど。