web网页按比例显示图片实现原理及js代码_javascript技巧
在动态站点上经常需要上传自己的图片,而这些图片的大小是未知的,在显示成缩略图的时候必须进行按比例的缩放才能美观地显示。以最近做的golf网站(http://www.changligolfsales.com)做例子。
该网站需要上传高尔夫产品图片,并以缩略图显示在列表上,站点服务器支持Asp,但不支持aspjpeg之类的生成缩略图组件,所以将上传的图片直接显示成缩略图,就需要按比例缩放了,前提是要获取图片的长宽,第一个想到的方法是在上传的时候通过ADODB.STREAM对象读取图片的长宽信息保存在数据库并在页面生成的时候读取出来计算比例。这个方法明显的缺点是显示每张图片都要在服务器读取数据并计算,消耗资源多了也加上了页面打开时延。
而第二个方法使用Javascript是将计算量转移到了客户端。
原理是在页面载入完成后(onload触发)在客户端使用Javascript读取每张图片的大小并进行缩放。
//将imageDest图片的大小按比例缩放,适合显示在宽W和高H的区域内
function ResizeImage(imageDest, W, H)
{
//显示框宽度W,高度H
var image = new Image();
image.src = imageDest.src;
if(image.width>0 && image.height>0)
{
//比较纵横比
if(image.width/image.height >= W/H)//相对显示框:宽>高
{
if(image.width > W) //宽度大于显示框宽度W,应压缩高度
{
imageDest.width = W;
imageDest.height = (image.height*W)/image.width;
}
else //宽度少于或等于显示框宽度W,图片完全显示
{
imageDest.width = image.width;
imageDest.height = image.height;
}
}
else//同理
{
if(image.height > H)
{
imageDest.height = H;
imageDest.width = (image.width*H)/image.height;
}
else
{
imageDest.width = image.width;
imageDest.height = image.height;
}
}
}
}
以上函数对图片进行缩放。
golf网站的每张缩略图的id都设为imgProductItem,如:
添加一个批量操作的函数:
//将页面内所有指定id的图片按比例缩放
function RsizeAllImageById(id, W, H)
{
var imgs = document.getElementsByTagName("img");
for(var i=0; i
if(imgs[i].id == id)
{
ResizeImage(imgs[i], W, H);
}
}
}
这样在页面的body添加
;在head区添加:
就可以将所有图片显示成缩略图了。

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment implémenter la fonction de vignette d'image en JavaScript ? Lorsque nous affichons des images sur une page Web, nous devons parfois réduire la grande image originale pour répondre aux exigences de mise en page de la page, ce qui nécessite l'utilisation de la fonction de vignette d'image. En JavaScript, nous pouvons implémenter la fonction vignette de l'image via les méthodes suivantes : Utilisez HTML pour définir directement la largeur et la hauteur de l'image. Le moyen le plus simple est de définir directement les attributs de largeur et de hauteur de l'image en HTML pour obtenir l'objectif. effet vignette. Par exemple :&l

Comment utiliser CSS pour obtenir l'effet de zoom des images Dans la conception Web, l'effet de zoom des images est l'une des exigences courantes. Grâce aux propriétés et techniques associées de CSS, nous pouvons facilement obtenir l'effet de zoom des images. Ci-dessous, nous présenterons en détail comment utiliser CSS pour obtenir l'effet de zoom des images et donnerons des exemples de code spécifiques. Utilisez l'attribut transform pour implémenter la mise à l'échelle matricielle des images. L'attribut transform nous permet de transformer des éléments en les faisant pivoter, en les mettant à l'échelle, en les inclinant ou en les traduisant. Parmi eux, la transformation d'échelle consiste à réaliser l'image

Comment implémenter des effets de mise à l'échelle d'image et de loupe dans Vue ? Avec le développement continu de la technologie Web, les utilisateurs ont des exigences de plus en plus élevées en matière d'effets d'affichage des images sur les sites Web. Parmi eux, le zoom d’image et les effets de loupe sont des exigences relativement courantes. Il est relativement simple d'implémenter des effets de mise à l'échelle d'image et de loupe dans Vue. Ensuite, je présenterai en détail la méthode d'implémentation spécifique. 1. Méthode de base Voyons d’abord comment obtenir l’effet de mise à l’échelle de base de l’image. La méthode d'implémentation est simple, utilisez simplement les instructions intégrées de Vue

Le meilleur moyen de mettre à l'échelle une image à l'aide des bibliothèques PHP et GD Ces dernières années, avec la popularité d'Internet, le traitement d'image est devenu l'une des fonctions nécessaires pour de nombreux sites. En tant qu'exigence la plus courante en matière de traitement d'image, la mise à l'échelle de l'image doit pouvoir redimensionner la taille de l'image proportionnellement sans perte de qualité de l'image pour s'adapter aux différents besoins d'affichage. En tant que langage de programmation côté serveur courant, PHP possède une multitude de bibliothèques de traitement d’images, dont la plus couramment utilisée est la bibliothèque GD. La bibliothèque GD fournit une interface simple et puissante qui peut être utilisée pour gérer diverses opérations sur les images.

Comment utiliser PHP pour développer des fonctions simples de mise à l'échelle et de recadrage d'images Résumé : Le traitement d'images est une exigence courante dans le développement Web. Cet article présentera comment utiliser PHP pour développer des fonctions simples de mise à l'échelle et de recadrage d'images et fournira des exemples de code spécifiques. En étudiant cet article, les lecteurs peuvent comprendre comment utiliser PHP pour implémenter des fonctions de base de traitement d'image dans les applications Web. 1. Introduction au contexte Dans le développement Web, nous devons parfois redimensionner ou recadrer les images pour les adapter à différentes mises en page ou répondre à des besoins spécifiques. PHP comme

Comment utiliser HTML, CSS et jQuery pour implémenter la fonction avancée de mise à l'échelle des images Introduction : Dans la conception Web moderne, la beauté et l'adaptabilité des images sont très importantes. Cependant, l’affichage d’images conventionnel ne peut souvent pas répondre à nos besoins. Dans cet article, nous expliquerons comment utiliser HTML, CSS et jQuery pour implémenter certaines fonctions avancées de zoom d'image. Grâce à ces technologies, nous pouvons obtenir des effets de mise à l'échelle d'image personnalisés et ajouter plus d'interactivité à nos pages Web. Étape 1 : balisage HTML Tout d'abord, nous avons besoin d'un

Techniques de mise en page CSSPositions pour la mise à l'échelle des images Dans la conception Web, la mise à l'échelle des images est l'une des exigences courantes. Grâce à la mise en page CSSPositions, nous pouvons obtenir l'effet de zoom des images et ajouter une meilleure expérience visuelle à la page Web. Cet article présentera quelques techniques et donnera des exemples de code spécifiques. Utilisez l'attribut position pour définir la position d'une image : En CSS, vous pouvez utiliser l'attribut position pour définir la façon dont un élément est positionné. En définissant l'attribut de position sur "re

Conseils et méthodes pour utiliser CSS pour obtenir des effets de bulles d'image Dans la conception Web, l'ajout d'effets spéciaux aux images est l'un des moyens importants pour améliorer l'expérience utilisateur. Parmi eux, les effets de bulles d’images peuvent ajouter de l’intérêt et de l’interactivité aux images, rendant ainsi le contenu Web plus attrayant. Cet article partagera quelques conseils et méthodes pour utiliser CSS pour obtenir des effets de bulles d'image, avec des exemples de code spécifiques. Utiliser des éléments de pseudo-classe pour créer des effets de bulle En utilisant des éléments de pseudo-classe CSS, nous pouvons ajouter un effet de bulle au-dessus de l'image. La méthode spécifique consiste à définir le pseudo classificateur
