Halloj. Jag postade en liknande fråga härom dagen: Såhär löste jag det: Ser mycket intressant ut! Ställer du in komprimeringen nånstans eller blir bildkvalitén såpass bra ändå så det inte behövs? Efter uppladdningen så anropar du bara funktionen "braBild" med sökvägen till bilden. Sen kan du självklart putsa lite på själva funktionen, så den tex. inte skriver ut filens namn efter beskärningen :) Men då måste jag alltså spara bilden som en fil på servern först innan jag gör förminskningen? Inte för att det är nåt egentligt problem men det hade kännts "proffsigare" att kunna förminska direkt INNAN något sparas på disk. ;) Ja, men det går ju inte.. för det skulle innebära att du förminskar den hos klienten och det går inte! :) Visst skulle man kanske kunna förminska den när den ligger i minnet hos servern, och inte lagrad som fil.. men vad syftet med det skulle vara vet jag inte ;) Jo det var så jag hade tänkt. Syftet skulle vara att slippa spara en bild på tex 1,2MB som ändå ska förminskas och sparas om med en storlek på kanske 50KB. Tycker det känns lite onödigt att ladda upp, spara på disk, läsa in igen från disk, förminska och spara igen på disk istället för att ladda upp, förminska (i minnet) och spara på disk. Varför göra det i 5 steg när man kan göra det i 3? =) du kan ju använda FromStream istället FromFile, du kan väl fånga strömmen som bilden laddas upp med?Minska alla bilder i en mapp som är för stora
Jag har ett problem som jag säkert tror är mycket enkelt löst, men jag hittar (förstår) inte den info jag hittat på nätet.. så jag vänder mig hit i stället.
Det jag vill göra är att gå igenom en mapp som innehåller massa bilder, och om någon bild är över 750px bred och/eller 550px hög så vill jag skala ner just den bilden så att den passar dessa mått. Jag vill göra skalningen proporionerligt så att inte bilden blir konstig. Alltså inte bara trycka ihop den på bredden om den råkar vara för bred men kanske inte för hög.
Någon som vet hur man gör?Sv: Minska alla bilder i en mapp som är för stora
http://www.pellesoft.se/development/forum/view.asp?msgid=99047&forumid=10&sum=1
Thumbnail-funktionen passar väl inte så bra eftersom bilderna är stora även efter krympning samt att kompressionen är hög så bildkvalitéten blir lidande. Jag vet att man ska kunna ställa in kompressionsgrad själv, men inte HUR?Sv: Minska alla bilder i en mapp som är för stora
<code>
<%@ Page Language="VB" Debug="true" %>
<%@ Import Namespace=System.Drawing %>
<%@ Import Namespace=System %>
<%@ Import Namespace=System.IO %>
<%@ Import Namespace=System.Web %>
<script language="VB" runat="server">
Sub Page_Load(Sender As Object, E As EventArgs)
dim storefile As directory
Dim directory As String
Dim files As String()
Dim File As String
files = storefile.GetFiles(Server.MapPath("/resebilder"), "*")
For Each File In files
Response.Write(File & "<br>")
braBild(File)
Next
End Sub
Public Sub braBild(strBild As String)
Try
' Orginalbilden
Dim objOrginal As System.Drawing.Image
objOrginal = objOrginal.FromFile(strBild)
Dim intMaxBredd As Integer = 750
Dim intMaxHojd As Integer = 550
Dim intNyaHojd,intNyBredd As Integer
' Kolla om den måste förminskas
If objOrginal.Width > intMaxBredd OR objOrginal.Height > intMaxHojd Then
If objOrginal.Width >= objOrginal.Height AND objOrginal.Width > intMaxBredd
intNyBredd = intMaxBredd
intNyaHojd = (objOrginal.Height / objOrginal.Width) * intMaxBredd
Else
intNyaHojd = intMaxHojd
intNyBredd = (objOrginal.Width / objOrginal.Height) * intMaxHojd
End If
' Skapa bitmapp med rätt storlek
Dim objBitmap As Bitmap = New Bitmap(intNyBredd,intNyaHojd)
' Skapa graphic object
Dim objGraphics As Graphics = Graphics.FromImage(objBitmap)
objGraphics.InterpolationMode = Drawing2D.InterpolationMode.HighQualityBicubic
objGraphics.DrawImage(objOrginal, 0, 0, intNyBredd, intNyaHojd)
objOrginal.Dispose()
' Spara den nya bilden
objBitmap.Save(strBild, Imaging.ImageFormat.Jpeg)
Response.Write("Ändrad bild: " & strBild & "<br>")
Else
objOrginal.Dispose()
End If
Catch
Response.Write("Det blev något fel!")
End Try
End Sub
</script>
</code>Sv: Minska alla bilder i en mapp som är för stora
Själv vill jag inte gå igenom filer i en katalog, utan vill helst ändra storlek direkt efter uploaden INNAN jag sparar på disk. Hur man nu gör det... :/Sv: Minska alla bilder i en mapp som är för stora
Sv: Minska alla bilder i en mapp som är för stora
Sv: Minska alla bilder i en mapp som är för stora
Sv: Minska alla bilder i en mapp som är för stora
Sv: Minska alla bilder i en mapp som är för stora
http://msdn.microsoft.com/library/en-us/cpref/html/frlrfSystemDrawingImageClassFromStreamTopic1.asp?frame=true