Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Minska alla bilder i en mapp som är för stora

Postades av 2003-08-19 16:09:23 - Mattias Järnhäll, i forum asp.net generellt, Tråden har 8 Kommentarer och lästs av 947 personer

Halloj.

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?


Svara

Sv: Minska alla bilder i en mapp som är för stora

Postades av 2003-08-19 16:57:44 - Michael Beckius

Jag postade en liknande fråga härom dagen:

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?


Svara

Sv: Minska alla bilder i en mapp som är för stora

Postades av 2003-08-21 15:56:40 - Mattias Järnhäll

Såhär löste jag det:
<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>


Svara

Sv: Minska alla bilder i en mapp som är för stora

Postades av 2003-08-21 21:06:05 - Michael Beckius

Ser mycket intressant ut! Ställer du in komprimeringen nånstans eller blir bildkvalitén såpass bra ändå så det inte behövs?

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... :/


Svara

Sv: Minska alla bilder i en mapp som är för stora

Postades av 2003-08-22 09:21:41 - Mattias Järnhäll

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


Svara

Sv: Minska alla bilder i en mapp som är för stora

Postades av 2003-08-22 12:04:14 - Michael Beckius

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. ;)


Svara

Sv: Minska alla bilder i en mapp som är för stora

Postades av 2003-08-22 13:10:51 - Mattias Järnhäll

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


Svara

Sv: Minska alla bilder i en mapp som är för stora

Postades av 2003-08-22 13:41:18 - Michael Beckius

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? =)


Svara

Sv: Minska alla bilder i en mapp som är för stora

Postades av 2003-08-22 13:47:08 - Johan Bovin

du kan ju använda FromStream istället FromFile, du kan väl fånga strömmen som bilden laddas upp med?
http://msdn.microsoft.com/library/en-us/cpref/html/frlrfSystemDrawingImageClassFromStreamTopic1.asp?frame=true


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 155
27 952
271 704
11 766
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies