begin process at 2010 03 18 19:06:33
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Graphique

 > GÉNÉRER UNE VIGNETTE À PARTIR D'UNE IMAGE JPEG/BMP, VIA L'OBJET ASPIMAGE

GÉNÉRER UNE VIGNETTE À PARTIR D'UNE IMAGE JPEG/BMP, VIA L'OBJET ASPIMAGE


 Information sur la source

Note :
9 / 10 - par 1 personne
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Graphique Classé sous :miniature, thumbshot, image, picture, aspimage Niveau :Initié Date de création :11/08/2004 Date de mise à jour :11/08/2004 15:46:41 Vu :12 329

Auteur : fr64

Ecrire un message privé
Commentaire sur cette source (15)
Ajouter un commentaire et/ou une note

 Description

Une classe qui permet de générer une vignette de dimension (X,Y) maximale paramétrable,
à partir d'une image JPEG ou BMP, via l'objet AspImage

Source

  • <%
  • 'Cette classe permet de générer une vignette de dimension (X,Y) maximale paramétrable,
  • ' à partir d'une image JPEG ou BMP, via l'objet AspImage
  • Class Vignette
  • '***** Les variables privées
  • 'L'objet AspImage
  • Private Image
  • 'Les tailles X et Y max de la vignette
  • Private mvarX
  • Private mvarY
  • '***** Les méthodes privées
  • 'Initialisation de la classe
  • Private Sub Class_Initialize()
  • Set Image = Server.CreateObject("AspImage.Image")
  • End sub
  • 'Destruction de la classe
  • Private Sub Class_Terminate()
  • Set Image=nothing
  • End sub
  • '***** Les propriétés publiques
  • 'La taille X maxi de la vignette
  • Public Property Let maxiX(X)
  • mvarX=X
  • End Property
  • 'La taille Y maxi de la vignette
  • Public Property Let maxiY(Y)
  • mvarY=Y
  • End Property
  • '***** Les méthodes publiques
  • 'Création de la vignette
  • ' - reporigine: chemin virtuel du répertoire où se trouve l'image à transformer
  • ' - nomorigine: nom de l'image à transformer
  • ' - repvignette: chemin virtuel du répertoire où l'on sauvegarde la vignette
  • ' - nomvignette: nom de la vignette obtenue
  • Public Function CreeVignette(reporigine,nomorigine,repvignette,nomvignette)
  • Dim dX 'La valeur réelle calculée de X pour la vignette
  • Dim dY 'La valeur réelle calculée de Y pour la vignette
  • Dim imgX 'La valeur X de l'image à transformer
  • Dim imgY 'La valeur Y de l'image à transformer
  • Image.LoadImage Server.MapPath(reporigine & "/" & nomorigine)
  • imgX=Image.MaxX
  • imgY=Image.MaxY
  • 'Si la largeur ou la hauteur depasse la taille maximale
  • if ((imgX >= mvarX) or (imgY >= mvarY)) then
  • ' Si la largeur et la hauteur depassent la taille maximale
  • if ((imgX >= mvarX) and (imgY >= mvarY)) then
  • 'On cherche la plus grande valeur
  • if (imgX>imgY) then
  • dX = mvarX
  • ' On calcule dY proportionnellement
  • dY = (imgY * dX) / imgX
  • else
  • dY = mvarY
  • ' On Calcule dX proportionnellement
  • dX = (imgX * dY) / imgY
  • end if
  • else
  • if ((imgX > mvarX) and (imgY < mvarY)) then
  • ' Si X depasse la taille maximale
  • dX = mvarX
  • ' On calcule dY proportionnellement
  • dY = (imgY * dX) / imgX
  • else
  • if ((imgX < mvarX) and (imgY > mvarY)) then
  • ' Si Y depasse la taille maximale
  • dY = mvarY
  • ' On calcule X proportionnellement
  • dX = (imgX * dY) / imgY
  • end if
  • end if
  • end if
  • end if
  • 'On redimensionne l'image en fonction des valeurs calculées
  • Image.DPI=72
  • Image.ImageFormat=1
  • Image.ResizeR dX, dY
  • 'On sauvegarde la vignette
  • Image.FileName = Server.MapPath(repvignette & "/" & nomvignette)
  • if Image.SaveImage then
  • CreeVignette=""
  • else
  • CreeVignette=Image.Error
  • end if
  • End Function
  • End class
  • %>
<%
'Cette classe permet de générer une vignette de dimension (X,Y) maximale paramétrable,
' à partir d'une image JPEG ou BMP, via l'objet AspImage
Class Vignette

'***** Les variables privées
	
	'L'objet AspImage
	Private Image
	'Les tailles X et Y max de la vignette
	Private mvarX
	Private mvarY
	
'***** Les méthodes privées
	
	'Initialisation de la classe
	Private Sub Class_Initialize()
		Set Image = Server.CreateObject("AspImage.Image")
	End sub

	'Destruction de la classe
	Private Sub Class_Terminate()
		Set Image=nothing
	End sub

'***** Les propriétés publiques
	'La taille X maxi de la vignette
	Public Property Let maxiX(X)
		mvarX=X
	End Property

	'La taille Y maxi de la vignette
	Public Property Let maxiY(Y)
		mvarY=Y
	End Property

'***** Les méthodes publiques
	
	'Création de la vignette
	' - reporigine: chemin virtuel du répertoire où se trouve l'image à transformer
	' - nomorigine: nom de l'image à transformer
	' - repvignette: chemin virtuel du répertoire où l'on sauvegarde la vignette
	' - nomvignette: nom de la vignette obtenue
	Public Function CreeVignette(reporigine,nomorigine,repvignette,nomvignette)
		Dim dX 'La valeur réelle calculée de X pour la vignette
		Dim dY 'La valeur réelle calculée de Y pour la vignette
		Dim imgX 'La valeur X de l'image à transformer
		Dim imgY 'La valeur Y de l'image à transformer
		
		Image.LoadImage Server.MapPath(reporigine & "/" & nomorigine)
		imgX=Image.MaxX
		imgY=Image.MaxY
		'Si la largeur ou la hauteur depasse la taille maximale
		if ((imgX >= mvarX) or (imgY >= mvarY)) then
			' Si la largeur et la hauteur depassent la taille maximale
			if ((imgX >= mvarX) and (imgY >= mvarY)) then
				'On cherche la plus grande valeur
				if (imgX>imgY) then
			        dX = mvarX
				    ' On calcule dY proportionnellement
			        dY = (imgY * dX) / imgX
				else
					dY = mvarY
					' On Calcule dX proportionnellement
			        dX = (imgX * dY) / imgY
				end if
			else
				if ((imgX > mvarX) and (imgY < mvarY)) then
				' Si X depasse la taille maximale
					dX = mvarX
					' On calcule dY proportionnellement
					dY = (imgY * dX) / imgX
				else
					if ((imgX < mvarX) and (imgY > mvarY)) then
					' Si Y depasse la taille maximale
						dY = mvarY
						' On calcule X proportionnellement
						dX = (imgX * dY) / imgY
					end if
				end if
			end if
		end if
		'On redimensionne l'image en fonction des valeurs calculées
		Image.DPI=72
		Image.ImageFormat=1
		Image.ResizeR dX, dY
		'On sauvegarde la vignette
		Image.FileName = Server.MapPath(repvignette & "/" & nomvignette)
		if Image.SaveImage then
			CreeVignette=""
		else
			CreeVignette=Image.Error
 		end if		
	End Function
End class
%>


 Conclusion

Bien sur, il faut que aspimage soit présent sur votre serveur.


 Historique

11 août 2004 15:46:41 :
Ajout d'un commentaire

 Sources du même auteur

UN EMBRYON DE FONCTION INVERSE DE HTMLENCODE

 Sources de la même categorie

Source avec Zip Source avec une capture Source .NET (Dotnet) CLASS CHARTS, HISTOGRAMCHART ET SECTORCHART par The Red Man
EXTRACTION D'INFORMATIONS IPTC D'UNE IMAGE par teenage
Source avec Zip Source avec une capture Source .NET (Dotnet) MANIPULATION D'IMAGES EN TEMPS RÉEL - RÉDUCTION COMPRESSION ... par badrbadr
Source avec Zip Source avec une capture Source .NET (Dotnet) UTILISATION D’AJAX ET D’UN WEBSERVICE POUR LA GÉNÉRATION D’I... par tikrimi
REDIMENSIONNER UNE IMAGE - ASPIMAGE par Keneyda

 Sources en rapport avec celle ci

Source avec une capture Source .NET (Dotnet) AJOUTER UNE IMAGE À UN BOUTON par PascalCmoa
Source avec Zip Source .NET (Dotnet) INSERER UNE PHOTO DANS UN CHAMP BLOB (IMAGE) DANS TABLE SQL ... par Myke
Source avec Zip Source avec une capture Source .NET (Dotnet) GRIDVIEW AVEC DES IMAGES par CSharpJSharp
Source avec Zip Source avec une capture Source .NET (Dotnet) COMBOBOXEX - COMBOBOX AVEC IMAGES - WEBCONTROL EN POUR ASP É... par aKheNathOn
Source .NET (Dotnet) ASP.NET - COMMENT CRÉER UNE IMAGE DE TAILLE PLUS RÉDUITE EN ... par fabrice69

Commentaires et avis

Commentaire de pereg le 16/08/2004 11:11:11

Ce serait bien d'ajouter que c'est une source .NET

Commentaire de fr64 le 16/08/2004 11:18:43

Non, non, ce n'est pas une source .NET.
C'est de l'ASP ancienne mouture.

Commentaire de ranouf le 05/10/2004 13:45:30

question, si t'indiques seulement la largeur ça gere automatiquement la hauteur ?

Commentaire de fr64 le 05/10/2004 14:24:45

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

Commentaire de ranouf le 05/10/2004 14:32:24

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

Commentaire de ranouf le 06/10/2004 16:16:34

tu devrais peut etre rajouté Image.SaveImage(); parce que là ça enregistre pas non ?

Commentaire de fr64 le 06/10/2004 16:21:48

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      

Commentaire de ranouf le 06/10/2004 16:24:21

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")


'--- 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= "<img src="""& strAdresse & "\" &  "small_" & strFichier & """><br>"'si pas erreur alors on affichera l'image dl
else
direc="une erreur c produite : "& Image.Error &"<br>"'si erreur alors on affiche l'erreur
end if

response.Write(direc)  

Commentaire de fr64 le 06/10/2004 16:36:58

Tu fais deux fois SaveImage ?

Commentaire de ranouf le 06/10/2004 16:47:26

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 ?

Commentaire de fr64 le 06/10/2004 17:07:16

Dimension en pixel.
Quel est le message d'erreur? C'est peut étre un pb de droit en écriture sur le répertoire cible.

Commentaire de ranouf le 06/10/2004 17:09:19

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 ?

Commentaire de ranouf le 06/10/2004 17:10:48

http://82.228.80.72/tests/upload/index.asp

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>

<body>
<%

'------------------------------------------------------------
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= "<img src="""& strAdresse & "\" & strFichier & """><br>"'si pas erreur alors on affichera l'image dl
else
direc="une erreur c produite : "& strAdresse & "\" &  strFichier &"<br>"'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<br>")

'--- Chargement de l'image
Image.LoadImage strAdresse & "\" &  strFichier
nImgX=Image.MaxX
nImgY=Image.MaxY
response.Write("Image : " & strAdresse & "\" &  strFichier & "<br> X:" & nImgX & " Y:" & nImgY & "<br>")

'--- Calcul des dimension
nImgX_S=200
nImgY_S=int((200*nImgY)/nImgX)
response.Write("Dimension X:" & nImgX_S & " Y:" & nImgY_S & "<br>")

'--- 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<br>")


'--- On sauvegarde
Image.FileName = strAdresse & "\" &  "small_" & strFichier
response.Write("Adresse : " & strAdresse & "\" &  "small_" & strFichier & "<br>")

if Image.SaveImage then 'test si erreur
direc= "<img src="""& strAdresse & "\" &  "small_" & strFichier & """><br>"'si pas erreur alors on affichera l'image dl
else
direc="une erreur c produite : "& Image.Error &"<br>"'si erreur alors on affiche l'erreur
end if
response.Write("Save : " & strAdresse & "\" &  "small_" &  strFichier & "<br>")

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">
<input type="file" name="Fichier1" size="20"><br>
<input type="submit" value="uploader" name="action">
</form>
</body>
</html>

Commentaire de fr64 le 06/10/2004 17:38:04

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.

Commentaire de monsieurtruc le 27/01/2006 11:43:01

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

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

[ASP.NET, C#] Upload d'image, et affichage de la miniature [ par chocobo76 ] Bonjour à tous !Je suis en train de développer un site web pour mon entreprise, et j'aurais besoin de vos conseils...Je cherche à intégrer dans ma pag inclure une miniature Sharepoint dans un rapport [ par skudFred ] Bonjour à tous ! J'aimerais inclure dans mon rapport Reporting Services des miniatures d'images, qui sont générées automatiquement par Sharepoint da Element hors de la page tronqué a l'impression [ par lops91 ] Bonjour a tous, Désolé pour ce titre peu explicite, mais je n'ai pas trouvé mieux. Voila, je me permet de vous soliciter car je m'arrache les cheveux Y a t-il moyen de creer un menu avec image(control menu) avec web.sitemap [ par neotof ] Bonjour j'alimente mon menu avec un sitemap: [code=xml] <siteMapNode title="Product decompiler une fichier image de type jpg [ par alex2009 ] comment decompiler une fichier de type jpg et trouver son code source puis la referencier a une autre fichier quelle est la commande pour faire cela ? select image depuis donnée binaire [ par benamb ] Bonjour, je cherche a afficher une image dans visual web developper 2005 express à l'aide de donnée binaire stocker dans une table sql le champ bina enregistrement d'une image dans une database [ par spameur_tn1 ] comment enregistrer une image en forme de byte dans une base de données Sql server? merci d'avance... Question sur le Controle Menu d'ASP.NET [ par neotof ] Bonjour je dispose d'un contrôle menu ou chaque item est représenté par une image et je voudrais que quand je survole une image un texte s'affiche en [Déplacé] problème de position de l'image qui suit la souris au survol d'un texte [ par molio ] Bonjour, J'essaie de faire un site internet pour mon laboratoire. je souhaite faire apparaitre une image qui suit la souris au survol d'un lien vers Etiquette flash [ par dorianr59 ] Bonsoir, dites moi j'ai une question a 1 million^^ oui bon je passe au choses sérieuse -> Voila mon problème, je souhaiterai changer des images après


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,655 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales