Redimensionner une image - aspimage

Soyez le premier à donner votre avis sur cette source.

Snippet vu 35 703 fois - Téléchargée 29 fois

Contenu du snippet

Je cherchais un code pouvant redimensionner une image avec AspImage et j'ai eu beaucoup de mal à en trouver une... Donc maintenant que j'en ai trouvé une, je fais profiter ceux qui cherche comme moi. Cette source n'est donc pas de moi mais elle peut aider...

Source / Exemple :


<%'Création de l&#8217;instance sur l&#8217;image
Set Image = Server.CreateObject("AspImage.Image")
Image.LoadImage "D:\Sites Web\site\image.jpg"
'Affiche les caractéristiques de l&#8217;image
Response.Write "Height = " & Image.MaxY & "<br>Width = " & Image.MaxX
'Calcul du coefficient et redimensionnement de l&#8217;image
'200 est un exemple de coef pour redimmentionner l'image...
IF Image.MaxX > 200 THEN
Coefficient=200/Image.MaxX
W=int(Image.MaxX*Coefficient)
H=int(Image.MaxY*Coefficient)
Image.ResizeR W,H
END IF
'Défini le nom et l&#8217;emplacement de la nouvelle image
Image.FileName = "D:\Sites Web\site\image-petite.jpg"
'Sauvegarde de l'image
Image.SaveImage%>

Conclusion :


AspImage est un composant payant... que l'on peut trouver sur http://www.serverobjects.com/comp/Aspimage.htm, le probleme outre que cela soit payant est qu'il ne montre pas vraiement d'exemple de ce composant...

A voir également

Ajouter un commentaire Commentaires
Messages postés
3
Date d'inscription
lundi 16 juin 2008
Statut
Membre
Dernière intervention
28 juillet 2008

salut..
SVP j'ai un probleme..
je travaille avec VS2008, j'ai crée un programme qui permet d'exporter un raport crées avec crystal report , l'export sous forme de HTML.
j'ai un probleme avec les images, l'export essaye de telecharger les images dans un emplacement specifique sur mon disque..
comment je vai faire pour fixer une adresse URL pour ces images.
merci bien
Messages postés
8
Date d'inscription
dimanche 4 décembre 2005
Statut
Membre
Dernière intervention
8 mai 2006

Merci pour vous deux pour le codes. mais y aurait-il une possibilitée de le faire en C++ ou bien en VB car dans mon site je n'utilise pas C#. sauf si je dois m y mettre lol.
Messages postés
757
Date d'inscription
vendredi 7 septembre 2001
Statut
Membre
Dernière intervention
19 juin 2008

en c#, utilitaire pour redimentionner sont image !


<%@ Control Language="c#" %>
<%@ import Namespace="System.Collections" %>
<%@ import Namespace="System.Drawing" %>
<%@ import Namespace="System.Drawing.Imaging" %>
<%@ import Namespace="System.Drawing.Drawing2D" %>
<%@ import Namespace="System.IO" %>
<%@ import Namespace="System.Text" %>
<script runat="server">

protected Size ThumbNailSize = new Size(75,75);
protected string ThumbNailName = "_thumbnail";

private void Page_Load(object sender, System.EventArgs e)
{
if (RequestObject("generate") == "1")
{
GenerateThumbNailImagesForFolder(RequestObject("imgfolder"));
}
this.RW(GenerateHTMLPageForFolder(RequestObject("imgfolder")));
}



public void GenerateThumbNailImagesForFolder(string FolderName)
{
string sPhysicalPath="";
string sFileName="";
string sThumbName="";

sPhysicalPath = Server.MapPath(FolderName);

DirectoryInfo oDir = new DirectoryInfo(sPhysicalPath);

try
{

FileInfo[] oDeleteFiles = oDir.GetFiles();

foreach (FileInfo oFile in oDeleteFiles)
{
sFileName = oFile.Name.ToLower();
if (sFileName.IndexOf("thumbnail") > 0) { oFile.Delete(); }
}

FileInfo[] oFiles = oDir.GetFiles();

foreach (FileInfo oFile in oFiles)
{

sFileName = oFile.Name.ToLower();

sThumbName = sFileName.Replace(".",this.ThumbNailName + ".");

if (sFileName.IndexOf(".gif") > 0)
{
this.GenerateThumbNail(sPhysicalPath,sFileName,sThumbName,ImageFormat.Gif);
}
if (sFileName.IndexOf(".jpg") > 0)
{
this.GenerateThumbNail(sPhysicalPath,sFileName,sThumbName,ImageFormat.Jpeg);
}
if (sFileName.IndexOf(".bmp") > 0)
{
this.GenerateThumbNail(sPhysicalPath,sFileName,sThumbName,ImageFormat.Bmp);
}

}
}
catch (Exception) { }
}

public void GenerateThumbNail(string sPhysicalPath,string sOrgFileName,string sThumbNailFileName,ImageFormat oFormat)
{

try
{

System.Drawing.Image oImg = System.Drawing.Image.FromFile(sPhysicalPath + @"" + sOrgFileName);

System.Drawing.Image oThumbNail = new Bitmap(this.ThumbNailSize.Width, this.ThumbNailSize.Height, oImg.PixelFormat);

Graphics oGraphic = Graphics.FromImage(oThumbNail);

oGraphic.CompositingQuality = CompositingQuality.HighQuality ;

oGraphic.SmoothingMode = SmoothingMode.HighQuality ;

oGraphic.InterpolationMode = InterpolationMode.HighQualityBicubic ;

Rectangle oRectangle = new Rectangle(0, 0, this.ThumbNailSize.Width, this.ThumbNailSize.Height);

oGraphic.DrawImage(oImg, oRectangle);

oThumbNail.Save(sPhysicalPath + @"" + sThumbNailFileName,oFormat);

oImg.Dispose();

}
catch (Exception) { }

}

public string GenerateHTMLPageForFolder(string FolderName)
{

string sPhysicalPath="";
string sFileName="";
int nFound=0;
int nCol=0;
int nMaxCols=7;

StringBuilder oString = new StringBuilder();

oString.Append("<html>\");

try
{

sPhysicalPath = Server.MapPath(FolderName);
DirectoryInfo oDir = new DirectoryInfo(sPhysicalPath);
FileInfo[] oFiles = oDir.GetFiles();

foreach (FileInfo oFile in oFiles)
{

sFileName = oFile.Name.ToLower();
nFound++;

if (sFileName.IndexOf(\"thumbnail\") > 0)
{

nCol++;
if (nCol == 1) { oString.Append(\"----
\"); }

if ((sFileName.IndexOf(\".gif\") > 0) || (sFileName.IndexOf(\".jpg\") > 0) || (sFileName.IndexOf(\".bmp\") > 0))
{
oString.Append(\"");
oString.Append("");
oString.Append("");
oString.Append("");
oString.Append(", \");
}
if (nCol nMaxCols) { nCol 0; oString.Append(\"\"); }

}

}

if ((nFound >0) && (nCol < nMaxCols))
{
nCol = nMaxCols - nCol;
oString.Append(\", \");
}

}
catch (Exception) { }

oString.Append("
</html>");

return oString.ToString();

}

public void RW(string sVal)
{
Response.Write(sVal +'\n');
}

public string RequestObject(string sName)
{
string sRet="";
try { sRet = Request[sName].ToString().Trim(); }
catch (Exception) { sRet = "";}
return sRet;
}

</script>
Messages postés
757
Date d'inscription
vendredi 7 septembre 2001
Statut
Membre
Dernière intervention
19 juin 2008

plus un objet COM
Messages postés
757
Date d'inscription
vendredi 7 septembre 2001
Statut
Membre
Dernière intervention
19 juin 2008

salut !

il doit etre relativement simple de faire un activex en vb ou en c++ qui réalise cette action. je regarde de ce cote et je ten donne des nouvelles...

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.