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


Image upload

Postades av 2005-09-19 15:36:17 - David Hägg, i forum asp.net generellt, Tråden har 2 Kommentarer och lästs av 401 personer

Har hyfsad kontroll på hur jag kan ladda up en bild och spara den på webbservern, men går det på något smidigt sätt att skala om den proportioneligt med ASP.net? Finns det någon klass som gör detta?

Använder helst c# men vb går bra med.


Svara

Sv: Image upload

Postades av 2005-09-20 09:09:12 - Erik Viklund

Här är en funktion som jag använde en gång för detta. Dock i VB.

<code>
Private Function braBild(ByVal strBild As String) As Bitmap
'strBild är namnet på bilden
Try
' Orginalbilden
Dim objOrginal As System.Drawing.Image
objOrginal = objOrginal.FromFile(Server.MapPath("images\") & strBild)
Dim intMaxBredd As Integer = 70
Dim intMaxHojd As Integer = 80
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 Then
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>")
Return objBitmap

Else
objOrginal.Dispose()
End If

Catch
Response.Write("Det blev något fel!")
End Try

End Function
</code>


Svara

Sv:Image upload

Postades av 2005-10-24 18:36:19 - David Hägg

Tack!

Slutresultatet blev såhär:

    protected void saveUploadedImage(int inpNewsId, int maxWidth, int maxHeight)
    {

        try
        {

            // LADDAR UPP FILEN TILL SERVERN ////////////////////////////////////////////////

            // Get a reference to PostedFile object
            HttpPostedFile uploadedFile = inpFile.PostedFile;

            // Get size of uploaded file
            int intFileLen = uploadedFile.ContentLength;

            // Allocate a buffer for reading of the file
            byte[] bytBuffer = new byte[intFileLen];

            // Read uploaded file from the Stream
            uploadedFile.InputStream.Read(bytBuffer, 0, intFileLen);

            string strPath = Request.MapPath("/images/start/" + inpNewsId + ".jpg");
            string strNewPath = Request.MapPath("/images/start/" + inpNewsId + "_thumb.jpg");

            // Skapa filen
            FileStream saveFile = new FileStream(strPath, FileMode.Create);

            // Skriv data till filen
            saveFile.Write(bytBuffer, 0, bytBuffer.Length);

            // Stäng filen
            saveFile.Close();


            // HANTERAR BILDINSTÄLLNINGAR ////////////////////////////////////////////////

            int imgWidth;
            int imgHeight;

            System.Drawing.Image objImg = System.Drawing.Image.FromFile(strPath);

            // Ställ in ny bredd och höjd på bilden
            if (objImg.Width > objImg.Height)
            {

                imgWidth = maxWidth;
                imgHeight = objImg.Height * maxWidth / objImg.Width;

            }
            else
            {

                imgWidth = objImg.Width * maxHeight / objImg.Height;
                imgHeight = objImg.Height * maxWidth / objImg.Width;

            }

            System.Drawing.Image objThumb = new Bitmap(imgWidth, imgHeight, objImg.PixelFormat);

            // Gör kvalitetsinställningar på bilden
            Graphics objGraphic = Graphics.FromImage(objThumb);
            objGraphic.CompositingQuality = CompositingQuality.HighQuality;
            objGraphic.SmoothingMode = SmoothingMode.HighQuality;
            objGraphic.InterpolationMode = InterpolationMode.HighQualityBicubic;

            // Ritar upp bildens yta
            Rectangle objRect = new Rectangle(0, 0, imgWidth, imgHeight);
            objGraphic.DrawImage(objImg, objRect);

            // Sparar bilden
            objThumb.Save(strNewPath, ImageFormat.Jpeg);
            objImg.Dispose();


            // TAR BORT TEMP-FILEN ////////////////////////////////////////////////////////

            File.Delete(strPath);

        }
        catch (Exception ex)
        {
            debugLabel.Text = ex.Message;
        }

    }


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 607
27 953
271 705
583
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