こんばんは、お世話になります。
TImageを使ったソフトをWindows8上で動かす際に、
少々問題がでています。
◆環境:
開発:Delphi2010 Windows7(64)
確認:Windows8(32),7(64),XP(32)
◆状況
フォームにTImageを配置して縦横を200にし、
Image1.Picture.LoadFromFile('200x200.jpg');として
200x200pxの画像を読み込んでいます。
ところがこれを実行する環境で結果が異なる状況です。
・Windows7(64)やXP(32)で実行した場合
→200x200いっぱいいっぱいに表示される。
・Windows8で実行した場合
→おおよそ75%くらいに小さく表示される。
◆現状
しかたないので、Stretch属性をtrueにすることで、
いっぱいいっぱいに表示させましたが、
こんな対処法では、何か困る時もでてきそうです。
もし、何か根本的な解決方法がありましたら、
アドバイス頂けると助かります。
よろしくお願いいたします。
Windows8のDPIスケールはディスプレイのサイズに合わせて初期値が変わるそうです(つまり100%とは限らない)。フォームのScaledプロパティをFalseにすれば、DPIスケーリングの影響は受けないようにできますが、Stretchで対応する方が、理にかなっている気がします。
ツイート | ![]() |