[JavaScript] Redimensionnement d'Image
Aquel
Messages postés
199
Date d'inscription
Statut
Membre
Dernière intervention
-
Aquel Messages postés 199 Date d'inscription Statut Membre Dernière intervention -
Aquel Messages postés 199 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un problème sur une page qui affiche une photo après redimensionnement grâce à une fonction Javascript.
Le problème est que la photo ne s'affiche pas tout le temps et ce de façon totalement aléatoire à chaque chargement de la même page.
<%@ LANGUAGE = JScript CODEPAGE = 1252 %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" type="text/css" href="style_etablissement.css" />
<script type="text/javascript" language="javascript">
///////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////Redimension des photos des actualités//////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////
function redimImage(inImg, inMW, inMH)
{ // Cette function recoit 3 parametres
// inImg : Chemin relatif de l'image
// inMW : Largeur maximale
// inMH : Hauteur maximale
var maxWidth = inMW;
var maxHeight = inMH;
// Declarations des variables "Nouvelle Taille"
var dW = 0;
var dH = 0;
// Declaration d'un objet Image
var oImg = new Image();
// Affectation du chemin de l'image a l'objet
oImg.src = inImg;
// On recupere les tailles reelles
var h = dH = oImg.height;
var w = dW = oImg.width;
// Si la largeur ou la hauteur depasse la taille maximale
if ((h >= maxHeight) || (w >= maxWidth)) {
// Si la largeur et la hauteur depasse la taille maximale
if ((h >= maxHeight) && (w >= maxWidth)) {
// On cherche la plus grande valeur
if (h > w) {
dH = maxHeight; // On recalcule la taille proportionnellement
dW = parseInt((w * dH) / h, 10);
} else {
dW = maxWidth; // On recalcule la taille proportionnellement
dH = parseInt((h * dW) / w, 10);
}
} else if ((h > maxHeight) && (w < maxWidth)) { // Si la hauteur depasse la taille maximale
dH = maxHeight;
// On recalcule la taille proportionnellement
dW = parseInt((w * dH) / h, 10);
} else if ((h < maxHeight) && (w > maxWidth)) { // Si la largeur depasse la taille maximale
dW = maxWidth;
// On recalcule la taille proportionnellement
dH = parseInt((h * dW) / w, 10);
}
} // On ecrit l'image dans le document
document.writeln("<img src=\"" + inImg + "\" width=\"" + dW + "\" height=\"" + dH + "\" class=\"cadre_photo\">");
};
//-->
</script>
<!--Connexion BDD ////////////////////////////////////////////////////////////-->
<%
var conn = Server.CreateObject("ADODB.connection");
conn.Open ("portailcidfn","root","");
%>
<!--//////////////////////////////////////////////////////////////////////////-->
<!--Récupération de l'ID de l'entité par URL /////////////////////////////////-->
<%
var id = Request.QueryString("id");
%><!--/////////////////////////////////////////////////////////////////////////-->
<!--Sélection des données ////////////////////////////////////////////////////-->
<%
req = "SELECT * FROM etablissements WHERE id='"+id+"'";
RS = Server.CreateObject("ADODB.RecordSet");
RS.Open(req,conn,3,1);
%>
<!--//////////////////////////////////////////////////////////////////////////-->
<title><%=RS("nom")%></title>
</head>
<body>
<div class="corps">
<div class="haut">
<span id="photo">
<!--///////////////Affichage de la photo redimensionnée////////////////-->
<script language="JavaScript" type="text/javascript">
<!--
redimImage('photos_etablissement/photo_<%=RS("id")%>.jpg', 100, 100);
//-->
</script>
</span>
......................................................etc.................................................................
Je vous épargne la suite qui n'est que de l'affichage de données :)
Merci pour celui qui voudra bien se pencher sur la question !
J'ai un problème sur une page qui affiche une photo après redimensionnement grâce à une fonction Javascript.
Le problème est que la photo ne s'affiche pas tout le temps et ce de façon totalement aléatoire à chaque chargement de la même page.
<%@ LANGUAGE = JScript CODEPAGE = 1252 %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" type="text/css" href="style_etablissement.css" />
<script type="text/javascript" language="javascript">
///////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////Redimension des photos des actualités//////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////
function redimImage(inImg, inMW, inMH)
{ // Cette function recoit 3 parametres
// inImg : Chemin relatif de l'image
// inMW : Largeur maximale
// inMH : Hauteur maximale
var maxWidth = inMW;
var maxHeight = inMH;
// Declarations des variables "Nouvelle Taille"
var dW = 0;
var dH = 0;
// Declaration d'un objet Image
var oImg = new Image();
// Affectation du chemin de l'image a l'objet
oImg.src = inImg;
// On recupere les tailles reelles
var h = dH = oImg.height;
var w = dW = oImg.width;
// Si la largeur ou la hauteur depasse la taille maximale
if ((h >= maxHeight) || (w >= maxWidth)) {
// Si la largeur et la hauteur depasse la taille maximale
if ((h >= maxHeight) && (w >= maxWidth)) {
// On cherche la plus grande valeur
if (h > w) {
dH = maxHeight; // On recalcule la taille proportionnellement
dW = parseInt((w * dH) / h, 10);
} else {
dW = maxWidth; // On recalcule la taille proportionnellement
dH = parseInt((h * dW) / w, 10);
}
} else if ((h > maxHeight) && (w < maxWidth)) { // Si la hauteur depasse la taille maximale
dH = maxHeight;
// On recalcule la taille proportionnellement
dW = parseInt((w * dH) / h, 10);
} else if ((h < maxHeight) && (w > maxWidth)) { // Si la largeur depasse la taille maximale
dW = maxWidth;
// On recalcule la taille proportionnellement
dH = parseInt((h * dW) / w, 10);
}
} // On ecrit l'image dans le document
document.writeln("<img src=\"" + inImg + "\" width=\"" + dW + "\" height=\"" + dH + "\" class=\"cadre_photo\">");
};
//-->
</script>
<!--Connexion BDD ////////////////////////////////////////////////////////////-->
<%
var conn = Server.CreateObject("ADODB.connection");
conn.Open ("portailcidfn","root","");
%>
<!--//////////////////////////////////////////////////////////////////////////-->
<!--Récupération de l'ID de l'entité par URL /////////////////////////////////-->
<%
var id = Request.QueryString("id");
%><!--/////////////////////////////////////////////////////////////////////////-->
<!--Sélection des données ////////////////////////////////////////////////////-->
<%
req = "SELECT * FROM etablissements WHERE id='"+id+"'";
RS = Server.CreateObject("ADODB.RecordSet");
RS.Open(req,conn,3,1);
%>
<!--//////////////////////////////////////////////////////////////////////////-->
<title><%=RS("nom")%></title>
</head>
<body>
<div class="corps">
<div class="haut">
<span id="photo">
<!--///////////////Affichage de la photo redimensionnée////////////////-->
<script language="JavaScript" type="text/javascript">
<!--
redimImage('photos_etablissement/photo_<%=RS("id")%>.jpg', 100, 100);
//-->
</script>
</span>
......................................................etc.................................................................
Je vous épargne la suite qui n'est que de l'affichage de données :)
Merci pour celui qui voudra bien se pencher sur la question !
A voir également:
- [JavaScript] Redimensionnement d'Image
- Image iso - Guide
- Acronis true image - Télécharger - Sauvegarde
- Reduire taille image - Guide
- Légender une image - Guide
- Telecharger javascript - Télécharger - Langages