Maison > interface Web > tutoriel CSS > Comment simuler CSS `background-size: cover` à l'aide de Canvas ?

Comment simuler CSS `background-size: cover` à l'aide de Canvas ?

Susan Sarandon
Libérer: 2024-12-10 00:56:17
original
975 Les gens l'ont consulté

How to Simulate CSS `background-size: cover` Using Canvas?

Simulation CSS "background-size: cover" sur Canvas

Cette question aborde le défi d'étirer des images sur une toile lors du rendu sans maintenir leur rapport hauteur/largeur d'origine. Pour obtenir le comportement souhaité de « background-size: cover », comme indiqué en CSS, nous fournissons une fonction JavaScript personnalisée.

function drawImageProp(ctx, img, x, y, w, h, offsetX, offsetY) {
  // Logic to determine new width, height, and offsets for proportional image scaling
  // ... [code omitted for brevity]

  ctx.drawImage(img, cx, cy, cw, ch, x, y, w, h);
}
Copier après la connexion

Utilisation :

drawImageProp(ctx, image, 0, 0, width, height);
Copier après la connexion

Cette fonction redimensionnera proportionnellement l'image pour l'adapter au conteneur.

Pour ajuster le décalage de l'image, spécifiez des paramètres :

var offsetX = 0.5; // center x
var offsetY = 0.5; // center y
drawImageProp(ctx, image, 0, 0, width, height, offsetX, offsetY);
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal