提供商

Sirv

Nuxt 图片与 Sirv 媒体管理、转换和交付平台集成。

Sirv 与 Nuxt 图片的集成。

要使用 Sirv 提供商,您需要在 Nuxt 图片模块配置中将您的 Sirv URL 设置为 baseURL,如下所示

nuxt.config.ts
export default defineNuxtConfig({
  image: {
    sirv: {
      baseURL: 'https://youralias.sirv.com/' 
    }
  }
})

从您的 Sirv 帐户详细信息页面 获取您的别名,或设置自定义域 (说明)。

Sirv fit 参数

默认情况下,Sirv 会缩放图像,保持其纵横比,以适合最小尺寸。以下是 fit 属性的标准值的映射,以及它们将如何被 Sirv 解释

  • fill: ignore
  • inside: fill
  • outside: fill
  • noUpscaling: noup,这是 Sirv 图片提供商的默认选项,因此您无需显式指定它。

格式

如果没有指定格式,Sirv 默认情况下将以 最佳 格式交付您的图片。或者,您可以像这样为图片指定自定义格式

<NuxtImg
    provider="sirv"
    src="/example-image.jpg"
    width="300"
    format="webp"
/>

Sirv 修饰符

要使用 Sirv 特定的转换,请将它们添加到 modifier 属性中。

配置文件

使用 Sirv 配置文件 将多个转换选项组合成一个参数。例如,您可以将 canvascropwatermark 参数组合到一个配置文件中,然后像这样使用它

<NuxtImg
    provider="sirv"
    src="/example-image.jpg"
    width="300"
    :modifiers="{profile: 'my-profile'}
/>

画布

使用 canvas 修饰符在图片周围添加画布。您还可以设置其宽度、高度、颜色和位置。

锐化

使用 sharpen 修饰符锐化图片。

<NuxtImg
  provider="sirv"
  src="/example-image.jpg"
  width="300"
  :modifiers="{sharpen: 50}"
/>

框架

使用 frame 修饰符在图片上添加框架/边框。您还可以设置其宽度和颜色。

<NuxtImg
  provider="sirv"
  src="/example-image.jpg"
  width="300"
  :modifiers="{
    frameStyle: 'solid',
    frameColor: '00000',
    frameWidth: '2',
    frameRimColor: '97A6B1',
    frameRimWidth: '2'
   }"
/>

旋转

使用 rotate 修饰符旋转图片。您可以指定要旋转图片的度数。

<NuxtImg
  provider="sirv"
  src="/example-image.jpg"
  :modifiers="{rotate: 90}"
/>

颜色和光线选项

Sirv 有各种 颜色操作选项,如 grayscalecolorizecolortonecolorLevels,以及 光线操作选项,如 lightnesshuesaturationhighlightsshadowsbrightnessexposurecontrast

以下是将图片转换为灰度的方法

<NuxtImg
  provider="sirv"
  src="/example-image.jpg"
  width="300"
  :modifiers="{grayscale: true}"
/>

水印和文字叠加

使用 Sirv 的 Nuxt 图片集成,您可以在其他图片上叠加图片或文字,以进行水印,或使用自定义文字创建动态横幅!

水印

使用 watermark 修饰符在现有图片上叠加图片。主要用于水印,但可用于创建横幅、OG 图片和个性化。以下是一个单一水印的示例

<NuxtImg provider="sirv" 
 src="example-image.jpg" 
 width="300" 
 :modifiers="{
    watermark: '/watermark-v1.png',
    watermarkPosition: 'center',
    watermarkWidth: '30%',
  }" 
/>

在此处详细了解 Sirv 水印 此处

叠加文字

您可以在图片上添加文字叠加,并对它们的定位和外观有完全的自由度。

<NuxtImg provider="sirv" 
  src="example-image.jpg" width="300"
  :modifiers="{
    text: 'Hello there',
    textAlign: 'center',
    textPositionGravity: 'south',
    textBackgroundColor: '#ffff',
    textSize: 60,
    textFontFamily: 'Arial',
    textColor: 'white',
  }" 
/>

可以在 此处 找到文字叠加的更多示例。

支持的转换列表

Sirv 的 Nuxt 图片集成使用直观的名称来表示每个转换。如果您使用与以下任何支持选项都不匹配的属性,它将在 URL 中按原样添加。

支持的参数名称转换为参数描述
宽度w图片宽度。
高度h图片高度。
ss按最大边调整图片大小
质量qJPEG 图片质量(百分比)。
fitscale.option图片缩放选项。
配置文件配置文件应用 Sirv 配置文件
格式格式提供的图片格式(默认为 最佳)。
webpFallbackwebp-fallback不支持 WebP 的浏览器的图片格式。
二次采样二次采样色度二次采样,以减小 JPEG 文件大小。
gifCompressiongif.lossy应用有损压缩,以减小 GIF 文件大小。
裁剪crop.type自动裁剪到图片内容的边缘;兴趣点;或人脸。
cropArcrop.aspectratio裁剪的纵横比
cwcw将图片裁剪到特定宽度。
chch将图片裁剪到特定高度。
cxcx开始图片裁剪的位置(从顶部)。
cycy开始图片裁剪的位置(从左侧)。
cropPaddingXcrop.pad.x在裁剪区域的左侧/右侧添加填充
cropPaddingYcrop.pad.y在裁剪区域的顶部/底部添加填充。
canvasHeightcanvas.height在图片周围创建一个画布(高度)。
canvasWidthcanvas.width在图片周围创建一个画布(宽度)。
canvasArcanvas.aspectratio画布的纵横比,从 1-99,例如 16:9
canvasPositioncanvas.position图片后面画布的位置。
canvasBorderWidthcanvas.border.width在画布的左侧和右侧添加额外宽度。
canvasBorderHeightcanvas.border.height在画布的顶部和底部添加额外高度。
canvasBorderColorcanvas.border.color画布边框的颜色,例如 E0AA80 或 red。
canvasBorderOpacitycanvas.border.opacity画布边框的不透明度。
水印水印要叠加的图片的文件路径。
watermarkPositionwatermark.position水印在图片上的位置。
watermarkPositionGravitywatermark.position.gravity设置 x 和 y 值偏移的起点。
watermarkPositionXwatermark.position.x水印的位置(从左侧)。
watermarkPositionYwatermark.position.y水印的位置(从顶部)。
watermarkWidthwatermark.scale.width水印的宽度。
watermarkHeightwatermark.scale.height水印的高度。
文本文本在图片上显示文字。
textBase64text.text64text 参数的替代方案,使用 Base64 编码
textSizetext.size文字区域相对于图片的宽度。
textAligntext.align对齐多行文字。
textPositiontext.position文字在图片上的位置。
textPositionXtext.position.x文字的位置(从左侧)。
textPositionYtext.position.y文字的位置(从顶部)。
textPositionGravitytext.position.gravity文字在图片上的主位置。
textFontSizetext.font.size以像素为单位固定文字的大小。
textFontStyletext.font.style文字的样式。
textFontFamilytext.font.family选择字体,例如“Open Sans”。
textFontWeighttext.font.weight选择字体粗细(light、normal、semi-bold、bold、extra-bold)。
textColortext.color文字颜色,例如 E0AA80 或 E0AA8020。
textOpacitytext.opacity文字的不透明度。
textOutlineWidthtext.outline.width在文字周围添加轮廓。
textoutlineColortext.outline.color文字轮廓的颜色。
textOutlineOpacitytext.outline.opacity文字轮廓的不透明度。
textOutlineBlurtext.outline.blur模糊文字轮廓的边缘。
textBackgroundColortext.background.color背景颜色,例如 E0AA80 或 E0AA8020。
textBackgroundOpacitytext.background.opacity背景的不透明度。
锐化锐化锐化图片。
模糊模糊模糊图片。
灰度灰度将图片转换为黑白。
colorizecolorize在图片上叠加颜色。
colorizeColorcolorize.colorcolorize 选项的颜色。
colorizeOpacitycolorize.opacity颜色叠加的不透明度。
colortonecolortone更改图片的颜色色调。
colortoneColorcolortone.color将颜色色调应用于图片。
colortoneLevelcolortone.level设置与原始图片混合的级别。
colortoneModecolortone.mode将颜色色调应用于整个图片,还是仅应用于阴影/高光。
晕影vigette.value调整晕影的深度。
vignetteColorvigette.color在图片周围添加晕影(暗边缘)。
亮度亮度更改图片的亮度。
colorlevelBlackcolorlevel.black调整图片的黑色级别。
colorlevelWhitecolorlevel.white调整图片的白色级别。
直方图直方图显示 RGB 级别直方图。
色调色调更改图片的色调。
饱和度饱和度更改图片的饱和度。
高光高光更改图片的高光。
阴影阴影更改图片的阴影。
亮度亮度更改图片的亮度。
曝光曝光更改图片的曝光。
对比度对比度更改图片的对比度。
旋转旋转要旋转图片的度数。
翻转翻转垂直翻转图片(镜像)。
翻转翻转水平翻转图片(镜像)。
不透明度不透明度PNG 图片的不透明度。
frameStyleframe.style在图片周围添加框架。
frameColorframe.color框架颜色,例如 E0AA80 或 E0AA8020。
frameWidthframe.width框架宽度。
frameRimColorframe.rim.color边框颜色,例如 E0AA80 或 E0AA8020。
frameRimWidthframe.rim.width边框宽度。
pdfPagepage转换为图像时 PDF 的页码。

从官方文档中了解更多关于 Sirv 的图像转换