Hej! Det går inte. Det bästa du kan göra är att rekommendera folk att ladda upp jpgs med högre kvalitet t.ex 95% sen sparar du dem med t ex 80%. Då blir det för det mesta hyffsad kvalitet. Att det blir dubbel förstörande komprimering kommer du inte runt (om du inte tar emot eller sparar som något format som inte har förstörande komprimering, t.ex: png, bmp) Tack för svaret! <code> Tack, nu kom jag in på rätt spår! Har läst lite mer på bl.a. Bilduppladdning med skalning men utan kompression?
Jag har en bilduppladdningsfunktion på min sajt där bilderna publiceras i ett galleri. Nu har jag noterat att även om bilden är inom de gränser jag satt upp (max 100Kb och maxbredd 610px) så blir bilden mycket mindre i storlek(kb) när den är sparad på disk med kvalitetsförlust som biverkning. Storleksmässigt(pixlar) är det ingen skillnad från originalet. Har någon tips på hur jag ska göra för att slippa den där kompressionen som blir? Bildernas format kan vara i JPG eller GIF.
Public Function SaveLargeImage(ByVal path As String, ByVal maxWidth As Integer, ByVal maxHeight As Integer, ByRef image As System.drawing.Image) As Boolean
Dim imgFormat As Imaging.ImageFormat = image.RawFormat
If Not (imgFormat.Equals(Imaging.ImageFormat.Gif) Or imgFormat.Equals(Imaging.ImageFormat.Jpeg)) Then
Return False
End If
'Fixar till rätt storlek
Dim newSize As New Size
newSize = GetProperSize(image.Size, maxWidth, maxHeight)
'Skapar en ny bild i rätt storlek
Dim fixedImage As New Bitmap(image, newSize)
Try
fixedImage.Save(path, imgFormat)
Catch ex As Exception
Return False
End Try
Return True
End Function
Sv: Bilduppladdning med skalning men utan kompression?
Sv:Bilduppladdning med skalning men utan kompression?
Hur gör jag alltså den där inställningen att bilden ska sparas med 80% kvalitet som du nämner. Nu när jag inte gjort några sådana inställningar i scripten verkar det vara hög komprimering som gäller per default!Sv: Bilduppladdning med skalning men utan kompression?
Private Sub SaveJPGWithCompressionSetting(ByVal image As _
Image, ByVal szFileName As String, ByVal lCompression _
As Long)
Dim eps As EncoderParameters = New EncoderParameters(1)
eps.Param(0) = New EncoderParameter(Encoder.Quality, _
lCompression)
Dim ici As ImageCodecInfo = GetEncoderInfo("image/jpeg")
image.Save(szFileName, ici, eps)
End Sub
</code>Sv:Bilduppladdning med skalning men utan kompression?
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemdrawingimagingencoderclassqualitytopic.asp
..så nu ska jag jobba lite....
// Håkan