@@ -8,27 +8,28 @@ Sometimes it's required to directly use a generated image URL with applied trans
88## Usage
99
1010``` js
11+ const $img = useImage ()
12+
1113$img (src, modifiers, options)
1214```
1315
1416** Example:** Generate image URL for ` backgroundImage ` style.
1517
1618``` js
17- export default {
18- computed: {
19- backgroundStyles () {
20- const imgUrl = this .$img (' https://github.com/nuxt.png' , { width: 100 })
21- return {
22- backgroundImage: ` url('${ imgUrl} ')`
23- }
24- }
19+ const $img = useImage ()
20+ const backgroundStyles = computed (() => {
21+ return {
22+ const imgUrl = $img (' https://github.com/nuxt.png' , { width: 100 })
23+ backgroundImage: ` url('${ imgUrl} ')`
2524 }
26- }
25+ })
2726```
2827
2928### ` $img.getSizes `
3029
3130``` js
31+ const $img = useImage ()
32+
3233$img .getSizes (src, { sizes, modifiers });
3334```
3435
@@ -53,6 +54,27 @@ Unstable: `getSizes` API might change or be removed.
5354** Example:** Responsive srcset with Vuetify ` v-img `
5455
5556``` html
57+ <script setup lang =" ts" >
58+ const props = defineProps ({
59+ height: { type: [Number , String ], default: 500 },
60+ src: {
61+ type: String ,
62+ default: ' /img/header-bg.jpg'
63+ }
64+ })
65+ const $img = useImage ()
66+ const _srcset = computed (() => {
67+ return $img .getSizes (props .src , {
68+ sizes: ' xs:100vw sm:100vw md:100vw lg:100vw xl:100vw' ,
69+ modifiers: {
70+ format: ' webp' ,
71+ quality: 70 ,
72+ height: props .height
73+ }
74+ })
75+ })
76+ </script >
77+
5678<template >
5779 <v-img
5880 :lazy-src =" $img(src, { width: 10, quality: 70 })"
@@ -62,27 +84,4 @@ Unstable: `getSizes` API might change or be removed.
6284 :sizes =" _srcset.sizes"
6385 ></v-img >
6486</template >
65- <script >
66- export default {
67- props: {
68- height: { type: [Number , String ], default: 500 },
69- src: {
70- type: String ,
71- default: ' /img/header-bg.jpg' ,
72- },
73- },
74- computed: {
75- _srcset () {
76- return this .$img .getSizes (this .src , {
77- sizes: ' xs:100vw sm:100vw md:100vw lg:100vw xl:100vw' ,
78- modifiers: {
79- format: ' webp' ,
80- quality: 70 ,
81- height: 500 ,
82- },
83- });
84- },
85- },
86- };
87- </script >
8887```
0 commit comments