# MAGPIE [![build](https://github.com/Blinue/Magpie/actions/workflows/build.yml/badge.svg)](https://github.com/Blinue/Magpie/actions/workflows/build.yml) [![All Contributors](https://img.shields.io/github/all-contributors/Blinue/Magpie)](#%E8%B4%A1%E7%8C%AE%E8%80%85-) [![许可](https://img.shields.io/github/license/Blinue/Magpie)](./LICENSE) :earth_africa: [简体中文](./README.md) | **English** Magpie can magnify any window to full screen and has a large number of built-in scaling algorithms/filters. Its main purpose is to enlarge game windows, and is suitable for situations where full-screen mode is not supported, or the built-in full-screen mode causes the screen to blur. If you encounter any problems during use, please submit an issue 👉 [Compiling](https://github.com/Blinue/Magpie/wiki/Compiling) 👉 [FAQ](https://github.com/Blinue/Magpie/wiki/FAQ_EN) 👉 [Customizing Scaling Configurations](https://github.com/Blinue/Magpie/wiki/Customizing_Scaling_Configurations) ([Examples](https://gist.github.com/hooke007/818ecc88f18e229bca743b7ae48947ad)) 👉 [Contributing](./CONTRIBUTING_EN.md) ## How to use the app ![Screenshot](img/Main_Window.png) When the window to be magnified is at foreground, press a hotkey to make it fullscreen. Pressing the hotkey again or bringing another window to the foreground will exit the fullscreen mode. Below are config guides: #### Scaling Modes The application ships with multiple scaling modes. If they don't fit your needs, please check the [Customized Scaling Configurations](https://github.com/Blinue/Magpie/wiki/Customizing_Scaling_Configurations) page. 1. Lanczos:A common, traditional interpolation algorithm. It does well in keeping sharp edges. 2. FSR:A transplantation of [FidelityFX-FSR](https://github.com/GPUOpen-Effects/FidelityFX-FSR), good for 3D games. 3. FSRCNNX:Transplantation of [FSRCNNX](https://github.com/igv/FSRCNN-TensorFlow). 4. ACNet:Transplantation of [ACNetGLSL](https://github.com/TianZerL/ACNetGLSL). Good for Anime-style images or videos. 5. Anime4K:Transplantation of [Anime4K](https://github.com/bloc97/Anime4K). We use the Anime4K_Upscale_Denoise_L variant. 6. CRT-Geom:One of the most popular CRT filters. We recommend you to customize your configurations. See [Emulation General Wiki](https://emulation.gametechwiki.com/index.php/CRT_Geom). 7. Integer Scale:Magnifies each pixel with integer factors. It completely keeps the visual effects of the original views. 2x and 3x are shipped with the Magpie. #### Capture Modes This section introduces how Magpie captures the source window. Check the [Capture Modes](https://github.com/Blinue/Magpie/wiki/Capture_Modes) page for their use cases. 1. Graphics Capture:Captures with [Screen Capture API](https://docs.microsoft.com/en-us/windows/uwp/audio-video-camera/screen-capture). The recommended way. Available since Win10 v1903. 2. Desktop Duplication:Captures with [Desktop Duplication API](https://docs.microsoft.com/en-us/windows/win32/direct3ddxgi/desktop-dup-api). This is able to capture more types of windows when compared against Graphics Capture. Available since Win10 v2004. 3. GDI:Captures with GDI. Has lower CPU usage than Graphics Capture. 4. DwmSharedSurface:Capture with the private DwmSharedSurface API. #### Change the Hot Keys Magpie detects hot keys with [globalmousekeyhook](https://github.com/gmamaladze/globalmousekeyhook). You need to manually type in your preferred hot keys (concatenate multiple keys with `+`). 1. Use upper cases for letter keys (e.g. `A`); Use special formats for digits (e.g. `D1`, or `NumPad1` if using the NumPad). 2. Capitalize the first letter for functional keys, like `Capital` (`Caps` is not recognized), `F1`, or `PageUp`. 3. Some keys can't be assigned individually. You have to combine them with other keys (e.g. `Control`, `Shift`, `Alt`). 4. Combinations of keys has to be triggered in the correct sequence (e.g. for `B+C`, you have to press and hold `B` and then press `C`). ## System Requirements 1. Windows 10/11 2. DirectX feature level 11 3. [.NET 6.0.4 Desktop Runtime](https://dotnet.microsoft.com/en-us/download/dotnet/thank-you/runtime-desktop-6.0.4-windows-x64-installer) 4. [MSVC 2015-2022 Runtime](https://docs.microsoft.com/cpp/windows/latest-supported-vc-redist) ## Hints 1. If you have set DPI scaling, but the window to be magnified doesn't support high DPI: Go to the compatibility settings of the target application, and set the "High DPI scaling override" option to "Application". ![High DPI Setting](img/High_DPI_Settings.png) 2. Some games support zooming the window, but with extremely naive algorithms. Please set the resolution to the built-in (best) option. ## Acknowledgement ✨ Thanks go to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
刘旭
刘旭

🚧 💻 👀 📖 💬
hooke007
hooke007

📖 💬 📓 💻
Pal Lockheart
Pal Lockheart

📓
Steve Donaghy
Steve Donaghy

💻 🌍
gyro永不抽风
gyro永不抽风

💻
ButtERRbrod
ButtERRbrod

🌍
NightFox
NightFox

🌍
Tzugimaa
Tzugimaa

💻
WHMHammer
WHMHammer

🌍
kato-megumi
kato-megumi

💻
Mike Wang
Mike Wang

📓
Sammy Hori
Sammy Hori

🌍
This project follows the [all-contributors](https://allcontributors.org/) protocol. Contributions of any kind are welcome!