ArcGIS 在高清屏中主界面界面字體和圖標顯示過小,如何解決?


作者:安日
鏈接:https://www.zhihu.com/question/40658050/answer/132382971
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。

大家好哈,這個問題是可以解決的。其實不限於arcmap,任何軟件都可以。這個方法只有一個不足,就是改變之后軟件畫面會變得比之前模糊一些,對於photoshop系列圖片處理軟件的使用者可能會造成一些困擾,但是對我們使用arcmap的GISer們來說其實影響並不大(個人體驗)。它的優點是改變之后整個軟件體驗和視覺效果和普清屏上完全一致,會舒服很多。(如果不改變的話,即使在arcmap里面設置了大圖標,很多顯示元素仍然會顯得非常難看。)
這個方法其實挺簡單,問題的原因是windows在啟動軟件的時候會檢查此軟件是否知道它正在高分屏上運行,一般軟件默認都會回答‘是’,那么結果就是會出現字體或者圖標很小的情況。我們的解決方法就是讓軟件告訴windows,它不知道它正在高分屏上運行,讓他仍然按照一般分辨率(大多是1920 1080了)顯示。具體方法是在注冊表中讓windows在打開軟件的時候先在軟件目錄里尋找用戶自定義的manifest文件,然后新建一個manifest文件放到arcmap根目錄,這樣arcmap打開的時候就會優先按照新建的manifest文件中的參數顯示了。

第一步:注冊表
1. 找到注冊表中的:
HKEY_LOCAL_MACHINE > SOFTWARE > Microsoft > Windows > CurrentVersion > SideBySide
2. 右鍵--New--DWORD(32bit) Value
3. 鍵入:PreferExternalManifest,回車(優先適用外部manifest文件)。
4. 雙擊新建的注冊表值,在Value Data對話框中鍵入 1, 在右邊的Base選項中選擇 Decimal。OK結束編輯。


第二步:新建manifest文件並放入arcmap根目錄
1. 新建一個.txt文件,在其中粘貼下列代碼。
2. 結束編輯,將文件名改為‘ArcMap.exe.manifest’。(注意:須對整個文件名進行修改,修改后從.txt文件改為了.manifest文件。如果看到修改完后仍然是文本文件,可能是因為你的文件夾顯示設定了不顯示文件后綴,導致你無法修改.txt部分。方法是進入文件夾選項,win10是在view選項卡,靠右邊show/hide欄中在第二個‘File name extensions’打鈎,就可以看到.txt后綴了,這樣將整個文件名刪除替換成ArcMap.exe.manifest即可)
3. 將編輯過的.manifest文件放入ArcMap.exe文件根目錄,如果不知道在哪的話就找到你的arcmap快捷方式,右鍵選擇open file location,會看到arcmap快捷方式,然后再右鍵open file location,就會被引導到ArcMap.exe所在文件夾了。

 

**********大功告成!打開arcmap,你就會看到熟悉的界面結構了。enjoy!
P.S.如果你在這之前嘗試過打開arcmap的大圖標,現在你得把它關掉了,不然會看到超大的馬賽克圖標 ;)
P.P.S. 之前說過,這個方法適用於任何軟件,你只要將.manifest的文件名中的ArcMap改成那個軟件執行文件的名稱,放到根目錄下(跟執行文件放在一起)就好啦。

Reference:
【1】Adobe App Scaling on High DPI Displays (FIX)


<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">

<dependency>
  <dependentAssembly>
    <assemblyIdentity
      type="win32"
      name="Microsoft.Windows.Common-Controls"
      version="6.0.0.0" processorArchitecture="*"
      publicKeyToken="6595b64144ccf1df"
      language="*">
    </assemblyIdentity>
  </dependentAssembly>
</dependency>

<dependency>
  <dependentAssembly>
    <assemblyIdentity
      type="win32"
      name="Microsoft.VC90.CRT"
      version="9.0.21022.8"
      processorArchitecture="amd64"
      publicKeyToken="1fc8b3b9a1e18e3b">
    </assemblyIdentity>
  </dependentAssembly>
</dependency>

<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
  <security>
    <requestedPrivileges>
      <requestedExecutionLevel
        level="asInvoker"
        uiAccess="false"/>
    </requestedPrivileges>
  </security>
</trustInfo>

<asmv3:application>
  <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
    <ms_windowsSettings:dpiAware xmlns:ms_windowsSettings="http://schemas.microsoft.com/SMI/2005/WindowsSettings">false</ms_windowsSettings:dpiAware>
  </asmv3:windowsSettings>
</asmv3:application>

</assembly>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM