k-view-vue
Version:
Wei Design - A Vue.js 3 UI library, web3-vue-demo
22 lines (18 loc) • 768 B
text/typescript
import { inject, type Ref } from 'vue'
import { EchartsRenderer } from '@packages/settings/chartThemes'
type InitOptions = {
renderer: EchartsRenderer
devicePixelRatio?: number
}
// 获取需要给当前echarts组件设置什么初始值
export function useCanvasInitOptions(option: any, themeSetting: any) {
const renderer = option.renderer || themeSetting.renderer
const initOptions: InitOptions = { renderer }
const scaleRef = inject<Ref<{ width: number; height: number }>>('scale-value') || { value: { width: 1, height: 1 } }
if (renderer === 'canvas') {
initOptions.devicePixelRatio = Math.ceil(
Math.max(window.devicePixelRatio, scaleRef.value.width, scaleRef.value.height)
)
}
return initOptions
}