GÉNÉRER UNE VIGNETTE À PARTIR D'UNE IMAGE JPEG/BMP, VIA L'OBJET ASPIMAGE
cs_pereg
Messages postés2Date d'inscriptionjeudi 4 mars 2004StatutMembreDernière intervention16 août 2004
-
16 août 2004 à 11:11
monsieurtruc
Messages postés15Date d'inscriptionmardi 7 octobre 2003StatutMembreDernière intervention 7 février 2013
-
27 janv. 2006 à 11:43
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
monsieurtruc
Messages postés15Date d'inscriptionmardi 7 octobre 2003StatutMembreDernière intervention 7 février 2013 27 janv. 2006 à 11:43
Salut,
ça marche plutôt bien, mais je cherche à créer deux images en même temps.
C'est à dire une basse def et une vignette.
Est-ce que le composant le gère ?
Merci
fr64
Messages postés32Date d'inscriptionvendredi 12 septembre 2003StatutMembreDernière intervention 4 avril 2007 6 oct. 2004 à 17:38
Le composant d'évaluation que l'on récupére sur le site du fournisseur est toujours anti daté. Pour faire des tests, il faut reculer la date du serveur.
ranouf
Messages postés237Date d'inscriptionmercredi 18 décembre 2002StatutMembreDernière intervention31 août 2009 6 oct. 2004 à 17:10
voila c sur mon serveur et mon code ( c long car en fait 'j'up le fichier puis j'essai de le redim :
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Document sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<%
'------------------------------------------------------------
Public sub UploaderFichier(mySmartUpload, strAdresse)
'------------------------------------------------------------
'--- upload fichier a une adresse donnée
'------------------------------------------------------------
Dim Fichier
'On error resume next'si erreur on continue quand meme
'mySmartUpload.MaxFileSize = 5000' Taille maximale autorisée : 5 Ko
'mySmartUpload.AllowedFilesList = "gif,jpg"' Upload autorisé sur les gif et jpg uniquement
mySmartUpload.Upload' Selectionne chaque fichier
For each Fichier In mySmartUpload.files
If not Fichier.IsMissing Then
if err.number =0 then 'test si erreur
direc= "
"'si pas erreur alors on affichera l'image dl
else
direc="une erreur c produite : "& strAdresse & "" & strFichier &"
"'si erreur alors on affiche l'erreur
end if
response.Write(direc)
Image_S strAdresse, strFichier
End sub
Public Sub Image_S(strAdresse, strFichier)
Dim Image
Dim nImgX, nImgX_S
Dim nImgY, nImgY_S
on error goto 0
'--- Création de l'objet image
Set Image = Server.CreateObject("AspImage.Image")
response.Write("Objet
")
'--- On redimensionne l'image en fonction des valeurs calculées
Image.DPI=72
Image.ImageFormat=1
Image.ResizeR nImgX_S, nImgY_S
response.Write("Redim
")
if Image.SaveImage then 'test si erreur
direc= "
"'si pas erreur alors on affichera l'image dl
else
direc="une erreur c produite : "& Image.Error &"
"'si erreur alors on affiche l'erreur
end if
response.Write("Save : " & strAdresse & "" & "small_" & strFichier & "
")
if request.queryString("Action")="Upload" then
response.expires=0 'ça je sais pas
response.buffer=true'ça je sais pas non plus
On error resume next' Gérer les erreur
' Variables
Dim mySmartUpload 'ce qui permet d'up le fichier
Dim strAdr 'Adresse du fichier
Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")' Création de l'Objet
strAdr=Server.MapPath("\Tests\Upload")'à changer pour installer ou vous le voulez
'--- Upload les fichiers à l'adresse strAdr
UploaderFichier mySmartUpload, strAdr
set mySmartUpload=nothing'Si aucune erreur s'est produite on redirige vers uploadok.asp
End if
%>
<form method="POST" action="index.asp?action=Upload" enctype="multipart/form-data">
</form>
</html>
ranouf
Messages postés237Date d'inscriptionmercredi 18 décembre 2002StatutMembreDernière intervention31 août 2009 6 oct. 2004 à 17:09
mdr maintenant g :
ASPImage.Image error '8000ffff'
This evaluation component has expired. Please register.
alors que g pas réussi à m'en servir ....
ya moyen de cracker la dll tu penses ?
t'a u ce pb toi ?
fr64
Messages postés32Date d'inscriptionvendredi 12 septembre 2003StatutMembreDernière intervention 4 avril 2007 6 oct. 2004 à 17:07
Dimension en pixel.
Quel est le message d'erreur? C'est peut étre un pb de droit en écriture sur le répertoire cible.
ranouf
Messages postés237Date d'inscriptionmercredi 18 décembre 2002StatutMembreDernière intervention31 août 2009 6 oct. 2004 à 16:47
vu qu'un ça marché pas je me suis dit pkoi pas en mettre un 2e :) mais ça marche toujours pas, g bien installé aspimage ce qui est bizarre c que ça blok juste à saveimage tout le reste marche ...
autre question, la dimension c en koi là ? parce que quand je veux mettre x a 600, dimension que je mets en code html, en fait là ça agrandit l'image plutot que de la rétrécir ... c en pixel tu penses ?
fr64
Messages postés32Date d'inscriptionvendredi 12 septembre 2003StatutMembreDernière intervention 4 avril 2007 6 oct. 2004 à 16:36
Tu fais deux fois SaveImage ?
ranouf
Messages postés237Date d'inscriptionmercredi 18 décembre 2002StatutMembreDernière intervention31 août 2009 6 oct. 2004 à 16:24
ha non pardon il est dans le if dsl, mais c bizarre ya un endroit ou ça couille chez moi :
Dim Image
Dim nImgX, nImgX_S
Dim nImgY, nImgY_S
'--- Création de l'objet image
Set Image = Server.CreateObject("AspImage.Image")
if Image.SaveImage then 'test si erreur
direc= "
"'si pas erreur alors on affichera l'image dl
else
direc="une erreur c produite : "& Image.Error &"
"'si erreur alors on affiche l'erreur
end if
response.Write(direc)
fr64
Messages postés32Date d'inscriptionvendredi 12 septembre 2003StatutMembreDernière intervention 4 avril 2007 6 oct. 2004 à 16:21
Voir ce bout de code en bas:
'On sauvegarde la vignette
Image.FileName = Server.MapPath(repvignette & "/" & nomvignette)
If Image.SaveImage Then
CreeVignette=""
Else
CreeVignette=Image.Error
End If
ranouf
Messages postés237Date d'inscriptionmercredi 18 décembre 2002StatutMembreDernière intervention31 août 2009 6 oct. 2004 à 16:16
tu devrais peut etre rajouté Image.SaveImage(); parce que là ça enregistre pas non ?
ranouf
Messages postés237Date d'inscriptionmercredi 18 décembre 2002StatutMembreDernière intervention31 août 2009 5 oct. 2004 à 14:32
fr64 > merci pour la réponse expresse, ton code m'interesse va falloir que je l'analyse + en profondeur je suis en train de dev un site pour mes parents ou je dois proposer un catalogue de photo et ton code va me faire gagner du tps !!
merci
fr64
Messages postés32Date d'inscriptionvendredi 12 septembre 2003StatutMembreDernière intervention 4 avril 2007 5 oct. 2004 à 14:24
Non, mais le code peut être facilement modifié pour cela.
Par exemple, on initialise mvarY à zéro lors de l'init de la classe, puis on teste si mvarY=0 alors je ne fais que la partie qui concerne X,soit
If ((imgX > mvarX) Then
' Si X depasse la taille maximale
dX = mvarX
' On calcule dY proportionnellement
dY = (imgY * dX) / imgX
ranouf
Messages postés237Date d'inscriptionmercredi 18 décembre 2002StatutMembreDernière intervention31 août 2009 5 oct. 2004 à 13:45
question, si t'indiques seulement la largeur ça gere automatiquement la hauteur ?
fr64
Messages postés32Date d'inscriptionvendredi 12 septembre 2003StatutMembreDernière intervention 4 avril 2007 16 août 2004 à 11:18
Non, non, ce n'est pas une source .NET.
C'est de l'ASP ancienne mouture.
cs_pereg
Messages postés2Date d'inscriptionjeudi 4 mars 2004StatutMembreDernière intervention16 août 2004 16 août 2004 à 11:11
Ce serait bien d'ajouter que c'est une source .NET
27 janv. 2006 à 11:43
ça marche plutôt bien, mais je cherche à créer deux images en même temps.
C'est à dire une basse def et une vignette.
Est-ce que le composant le gère ?
Merci
6 oct. 2004 à 17:38
6 oct. 2004 à 17:10
voila c sur mon serveur et mon code ( c long car en fait 'j'up le fichier puis j'essai de le redim :
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Document sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<%
'------------------------------------------------------------
Public sub UploaderFichier(mySmartUpload, strAdresse)
'------------------------------------------------------------
'--- upload fichier a une adresse donnée
'------------------------------------------------------------
Dim Fichier
'On error resume next'si erreur on continue quand meme
'mySmartUpload.MaxFileSize = 5000' Taille maximale autorisée : 5 Ko
'mySmartUpload.AllowedFilesList = "gif,jpg"' Upload autorisé sur les gif et jpg uniquement
mySmartUpload.Upload' Selectionne chaque fichier
For each Fichier In mySmartUpload.files
If not Fichier.IsMissing Then
strFichier = Fichier.FileName
Fichier.SaveAs(strAdresse & "" & strFichier)' Upload du fichier
End If
Next
if err.number =0 then 'test si erreur
direc= "
"'si pas erreur alors on affichera l'image dl
else
direc="une erreur c produite : "& strAdresse & "" & strFichier &"
"'si erreur alors on affiche l'erreur
end if
response.Write(direc)
Image_S strAdresse, strFichier
End sub
Public Sub Image_S(strAdresse, strFichier)
Dim Image
Dim nImgX, nImgX_S
Dim nImgY, nImgY_S
on error goto 0
'--- Création de l'objet image
Set Image = Server.CreateObject("AspImage.Image")
response.Write("Objet
")
'--- Chargement de l'image
Image.LoadImage strAdresse & "" & strFichier
nImgX=Image.MaxX
nImgY=Image.MaxY
response.Write("Image : " & strAdresse & "" & strFichier & "
X:" & nImgX & " Y:" & nImgY & "
")
'--- Calcul des dimension
nImgX_S=200
nImgY_S=int((200*nImgY)/nImgX)
response.Write("Dimension X:" & nImgX_S & " Y:" & nImgY_S & "
")
'--- On redimensionne l'image en fonction des valeurs calculées
Image.DPI=72
Image.ImageFormat=1
Image.ResizeR nImgX_S, nImgY_S
response.Write("Redim
")
'--- On sauvegarde
Image.FileName = strAdresse & "" & "small_" & strFichier
response.Write("Adresse : " & strAdresse & "" & "small_" & strFichier & "
")
if Image.SaveImage then 'test si erreur
direc= "
"'si pas erreur alors on affichera l'image dl
else
direc="une erreur c produite : "& Image.Error &"
"'si erreur alors on affiche l'erreur
end if
response.Write("Save : " & strAdresse & "" & "small_" & strFichier & "
")
response.Write(direc)
Set image=nothing
End sub
'------------------------------------------------------------------------------------------------------------------
if request.queryString("Action")="Upload" then
response.expires=0 'ça je sais pas
response.buffer=true'ça je sais pas non plus
On error resume next' Gérer les erreur
' Variables
Dim mySmartUpload 'ce qui permet d'up le fichier
Dim strAdr 'Adresse du fichier
Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")' Création de l'Objet
strAdr=Server.MapPath("\Tests\Upload")'à changer pour installer ou vous le voulez
'--- Upload les fichiers à l'adresse strAdr
UploaderFichier mySmartUpload, strAdr
set mySmartUpload=nothing'Si aucune erreur s'est produite on redirige vers uploadok.asp
End if
%>
<form method="POST" action="index.asp?action=Upload" enctype="multipart/form-data">
</form>
</html>
6 oct. 2004 à 17:09
ASPImage.Image error '8000ffff'
This evaluation component has expired. Please register.
alors que g pas réussi à m'en servir ....
ya moyen de cracker la dll tu penses ?
t'a u ce pb toi ?
6 oct. 2004 à 17:07
Quel est le message d'erreur? C'est peut étre un pb de droit en écriture sur le répertoire cible.
6 oct. 2004 à 16:47
autre question, la dimension c en koi là ? parce que quand je veux mettre x a 600, dimension que je mets en code html, en fait là ça agrandit l'image plutot que de la rétrécir ... c en pixel tu penses ?
6 oct. 2004 à 16:36
6 oct. 2004 à 16:24
Dim Image
Dim nImgX, nImgX_S
Dim nImgY, nImgY_S
'--- Création de l'objet image
Set Image = Server.CreateObject("AspImage.Image")
'--- Chargement de l'image
Image.LoadImage strAdresse & "" & strFichier
nImgX=Image.MaxX
nImgY=Image.MaxY
'--- Calcul des dimension
nImgX_S=600
nImgY_S=int((600*nImgY)/nImgX)
'--- On redimensionne l'image en fonction des valeurs calculées
Image.DPI=72
Image.ImageFormat=1
Image.ResizeR nImgX_S, nImgY_S
'--- On sauvegarde
Image.FileName = strAdresse & "" & "small_" & strFichier
Image.SaveImage()
if Image.SaveImage then 'test si erreur
direc= "
"'si pas erreur alors on affichera l'image dl
else
direc="une erreur c produite : "& Image.Error &"
"'si erreur alors on affiche l'erreur
end if
response.Write(direc)
6 oct. 2004 à 16:21
'On sauvegarde la vignette
Image.FileName = Server.MapPath(repvignette & "/" & nomvignette)
If Image.SaveImage Then
CreeVignette=""
Else
CreeVignette=Image.Error
End If
6 oct. 2004 à 16:16
5 oct. 2004 à 14:32
merci
5 oct. 2004 à 14:24
Par exemple, on initialise mvarY à zéro lors de l'init de la classe, puis on teste si mvarY=0 alors je ne fais que la partie qui concerne X,soit
If ((imgX > mvarX) Then
' Si X depasse la taille maximale
dX = mvarX
' On calcule dY proportionnellement
dY = (imgY * dX) / imgX
5 oct. 2004 à 13:45
16 août 2004 à 11:18
C'est de l'ASP ancienne mouture.
16 août 2004 à 11:11