redimentionement images jpg aspx

Le
lavache
Bonjour,
Je test un script de redimensionnement.
Je redimensionne l'image a sa même grandeur pour faire un test.
Mais le poids de l'image en ko et 15 fois plus élever.
au départ elle fait 10ko au redimensionnement elle fait 150 ko
Quelqu'un a une idée??
car le script et la pour épargné de l'espace sur le site web.
merci

Sébas

Dim oimg As System.Drawing.Image
Dim dimention As Size
Dim lenom
Dim w, h
lenom = "test.jpg"
oimg = System.Drawing.Image.FromFile("E:wwwdata" & lenom)
lenom = Split(lenom, ".")
w = oimg.Width.ToString
h = oimg.Height.ToString
Me.Label1.Text = "W " & w & " H " & h
If w > 360 Then
h = Math.Round(360 * h / w)
w = 360
End If
dimention = New Size(w, h)
Dim oThumbNail As System.Drawing.Image = New
Bitmap(dimention.Width, dimention.Height)
Dim ographic As Graphics = Graphics.FromImage(oThumbNail)
Dim orectangle As Rectangle = New Rectangle(0, 0,
dimention.Width, dimention.Height)
'ographic.CompositingQuality = CompositingQuality.Default
'CompositingQuality.HighQuality
'ographic.SmoothingMode = SmoothingMode.Default '
SmoothingMode.HighQuality
'ographic.InterpolationMode =
InterpolationMode.HighQualityBicubic
ographic.DrawImage(oimg, orectangle)
oThumbNail.Save("E:wwwdata" & lenom(0) & "_big." & lenom(1))
oimg.Dispose()
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Patrice
Le #12145121
Et si on spécifie explicitement le format de l'image ? Je crois comprendre
qu'elle est sauvée en PNG par défaut...

En plus, il existe un paramètre pour les images JPEG qui contrôle la
compression, le résultat peut donc être également variable. Voir par exemple
http://www.c2i.fr/code.aspx?IDCodeP3 pour en plus indiquer la qualité
voulue...

---
Patrice

"lavache"
Bonjour,
Je test un script de redimensionnement.
Je redimensionne l'image a sa même grandeur pour faire un test.
Mais le poids de l'image en ko et 15 fois plus élever.
au départ elle fait 10ko au redimensionnement elle fait 150 ko
Quelqu'un a une idée??
car le script et la pour épargné de l'espace sur le site web.
merci

Sébas

Dim oimg As System.Drawing.Image
Dim dimention As Size
Dim lenom
Dim w, h
lenom = "test.jpg"
oimg = System.Drawing.Image.FromFile("E:wwwdata" & lenom)
lenom = Split(lenom, ".")
w = oimg.Width.ToString
h = oimg.Height.ToString
Me.Label1.Text = "W " & w & " H " & h
If w > 360 Then
h = Math.Round(360 * h / w)
w = 360
End If
dimention = New Size(w, h)
Dim oThumbNail As System.Drawing.Image = New
Bitmap(dimention.Width, dimention.Height)
Dim ographic As Graphics = Graphics.FromImage(oThumbNail)
Dim orectangle As Rectangle = New Rectangle(0, 0,
dimention.Width, dimention.Height)
'ographic.CompositingQuality = CompositingQuality.Default
'CompositingQuality.HighQuality
'ographic.SmoothingMode = SmoothingMode.Default '
SmoothingMode.HighQuality
'ographic.InterpolationMode =
InterpolationMode.HighQualityBicubic
ographic.DrawImage(oimg, orectangle)
oThumbNail.Save("E:wwwdata" & lenom(0) & "_big." & lenom(1))
oimg.Dispose()



lavache
Le #12145101
"Patrice"
Et si on spécifie explicitement le format de l'image ? Je crois comprendre
qu'elle est sauvée en PNG par défaut...

En plus, il existe un paramètre pour les images JPEG qui contrôle la
compression, le résultat peut donc être également variable. Voir par
exemple http://www.c2i.fr/code.aspx?IDCodeP3 pour en plus indiquer la
qualité voulue...

---
Patrice


Merci Patrice cela marche #1.

je recolle mon code si sa peux aider quelque car tous les site sont en c#
mais moi en VB.

Sebas
#######

Private Sub resizeimage(ByVal lenom As String, ByVal dossier As String)
'créé 2 images un petit de largeur 80 l'autre de 360. et efface la
photo original
Try
Dim oimg As System.Drawing.Image
Dim dimention As Size
Dim splitlenom
Dim w, h


oimg = System.Drawing.Image.FromFile(dossier & lenom)
splitlenom = Split(lenom, ".")
w = oimg.Width.ToString
h = oimg.Height.ToString
Me.Label1.Text = "W " & w & " H " & h
If w > 80 Then
h = Math.Round(80 * h / w)
w = 80
End If
'image mini
dimention = New Size(w, h)
Dim oThumbNail As System.Drawing.Image = New
Bitmap(dimention.Width, dimention.Height)
Dim ographic As Graphics = Graphics.FromImage(oThumbNail)
Dim orectangle As Rectangle = New Rectangle(0, 0,
dimention.Width, dimention.Height)
ographic.DrawImage(oimg, orectangle)

Dim myImageCodecInfo As ImageCodecInfo =
GetEncoderInfo("image/jpeg")
Dim myEncoder As Encoder = Encoder.Quality
Dim myEncoderParameter As EncoderParameter = New
EncoderParameter(myEncoder, 50L)
Dim myEncoderParameters As EncoderParameters = New
EncoderParameters(1)
myEncoderParameters.Param(0) = myEncoderParameter
oThumbNail.Save(dossier & splitlenom(0) & "_mini." &
splitlenom(1), myImageCodecInfo, myEncoderParameters)

' image big
w = oimg.Width.ToString
h = oimg.Height.ToString
Me.Label1.Text = "W " & w & " H " & h
If w > 360 Then
h = Math.Round(360 * h / w)
w = 360
End If
dimention = New Size(w, h)
oThumbNail = New Bitmap(dimention.Width, dimention.Height)
ographic = Graphics.FromImage(oThumbNail)
orectangle = New Rectangle(0, 0, dimention.Width,
dimention.Height)
ographic.DrawImage(oimg, orectangle)
oThumbNail.Save(dossier & splitlenom(0) & "_big." &
splitlenom(1), myImageCodecInfo, myEncoderParameters)
oimg.Dispose()

'efface limage uploader

Catch ex As Exception
Me.Label1.Text = "Erreur image non valide"

End Try
File.Delete(dossier & lenom)
End Sub

Private Function GetEncoderInfo(ByVal mimeType As String)

Dim j As Integer
Dim encoders() As ImageCodecInfo
encoders = ImageCodecInfo.GetImageEncoders()
For j = 0 To encoders.Length - 1

If encoders(j).MimeType = mimeType Then
Return encoders(j)
End If



Next
Return ""


End Function

#######


"lavache"
Bonjour,
Je test un script de redimensionnement.
Je redimensionne l'image a sa même grandeur pour faire un test.
Mais le poids de l'image en ko et 15 fois plus élever.
au départ elle fait 10ko au redimensionnement elle fait 150 ko
Quelqu'un a une idée??
car le script et la pour épargné de l'espace sur le site web.
merci

Sébas

Dim oimg As System.Drawing.Image
Dim dimention As Size
Dim lenom
Dim w, h
lenom = "test.jpg"
oimg = System.Drawing.Image.FromFile("E:wwwdata" & lenom)
lenom = Split(lenom, ".")
w = oimg.Width.ToString
h = oimg.Height.ToString
Me.Label1.Text = "W " & w & " H " & h
If w > 360 Then
h = Math.Round(360 * h / w)
w = 360
End If
dimention = New Size(w, h)
Dim oThumbNail As System.Drawing.Image = New
Bitmap(dimention.Width, dimention.Height)
Dim ographic As Graphics = Graphics.FromImage(oThumbNail)
Dim orectangle As Rectangle = New Rectangle(0, 0,
dimention.Width, dimention.Height)
'ographic.CompositingQuality = CompositingQuality.Default
'CompositingQuality.HighQuality
'ographic.SmoothingMode = SmoothingMode.Default '
SmoothingMode.HighQuality
'ographic.InterpolationMode =
InterpolationMode.HighQualityBicubic
ographic.DrawImage(oimg, orectangle)
oThumbNail.Save("E:wwwdata" & lenom(0) & "_big." &
lenom(1))
oimg.Dispose()







Publicité
Poster une réponse
Anonyme