useDevicePixelRatio 
Reactively track window.devicePixelRatio
NOTE: there is no event listener for
window.devicePixelRatiochange. So this function usesTesting media queries programmatically (window.matchMedia)applying the same mechanism as described in this example.
Demo 
Device Pixel Ratio:
pixelRatio: 1Zoom in and out (or move the window to a screen with a different scaling factor) to see the value changes
Usage 
js
import { useDevicePixelRatio } from '@vueuse/core'
export default {
  setup() {
    const { pixelRatio } = useDevicePixelRatio()
    return { pixelRatio }
  },
}Component Usage 
This function also provides a renderless component version via the
@vueuse/componentspackage. Learn more about the usage.
vue
<template>
  <UseDevicePixelRatio v-slot="{ pixelRatio }">
    Pixel Ratio: {{ pixelRatio }}
  </UseDevicePixelRatio>
</template>Type Declarations 
typescript
/**
 * Reactively track `window.devicePixelRatio`.
 *
 * @see https://vueuse.org/useDevicePixelRatio
 */
export declare function useDevicePixelRatio(options?: ConfigurableWindow): {
  pixelRatio: Ref<number>
}
export type UseDevicePixelRatioReturn = ReturnType<typeof useDevicePixelRatio>