Maison interface Web js tutoriel web网页按比例显示图片实现原理及js代码_javascript技巧

web网页按比例显示图片实现原理及js代码_javascript技巧

May 16, 2016 pm 05:26 PM
图片缩放

在动态站点上经常需要上传自己的图片,而这些图片的大小是未知的,在显示成缩略图的时候必须进行按比例的缩放才能美观地显示。以最近做的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,如:web网页按比例显示图片实现原理及js代码_javascript技巧,里面的150x113就是显示框的最大尺寸,因为处理函数必须在onload完成时运行,所以这里必须设置一定的大小,要不整个页面在载入图片过程中出现排版错乱,到运行了RsizeAllImageById才恢复正常。
添加一个批量操作的函数:
复制代码 代码如下:

//将页面内所有指定id的图片按比例缩放
function RsizeAllImageById(id, W, H)
{
var imgs = document.getElementsByTagName("img");
for(var i=0; iweb网页按比例显示图片实现原理及js代码_javascript技巧{
if(imgs[i].id == id)
{
ResizeImage(imgs[i], W, H);
}
}
}

这样在页面的body添加
复制代码 代码如下:

;在head区添加:



就可以将所有图片显示成缩略图了。
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

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 !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Comment implémenter la fonction de vignette d'image en JavaScript ? Comment implémenter la fonction de vignette d'image en JavaScript ? Oct 25, 2023 am 08:56 AM

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 Comment utiliser CSS pour obtenir l'effet de zoom des images Nov 21, 2023 pm 04:17 PM

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 ? Comment implémenter des effets de mise à l'échelle d'image et de loupe dans Vue ? Jun 25, 2023 pm 07:32 PM

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

Meilleur moyen d'obtenir une mise à l'échelle d'image à l'aide de la bibliothèque PHP et GD Meilleur moyen d'obtenir une mise à l'échelle d'image à l'aide de la bibliothèque PHP et GD Jul 12, 2023 pm 08:07 PM

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 Comment utiliser PHP pour développer des fonctions simples de mise à l'échelle et de recadrage d'images Sep 21, 2023 am 10:28 AM

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 des fonctions avancées de zoom d'image Comment utiliser HTML, CSS et jQuery pour implémenter des fonctions avancées de zoom d'image Oct 25, 2023 am 09:07 AM

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 des positions CSS pour la mise à l'échelle des images Techniques de mise en page des positions CSS pour la mise à l'échelle des images Sep 26, 2023 pm 02:17 PM

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 bulle d'image Conseils et méthodes pour utiliser CSS pour obtenir des effets de bulle d'image Oct 18, 2023 pm 12:24 PM

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

See all articles