Vraag : Re grootteBeeld in geheugen van Byte ()

Hallo aan allen,

I hebben een SQL 2005 Gegevensbestand. Ik sla mijn beelden in het gegevensbestand als Beeld op. Ik wil aan re grootte het beeld aan een duimspijker en toen behalve dat duimnagel aan het gegevensbestand in een verschillende lijst. Gebruikend de code hieronder houd ik bij het krijgen van een fout als ik het beeld again.

What wil bekijken ben verkeerd doen van I en ben dit de juiste manier om het beeld in geheugen resizing?

Thanks
" codeBody "
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
Public Functie createThumbandFull (ByVal ItemCode als Koord) als AUErrorCapture Instrumenten IAUDBInUpDel.createThumbandFull
        Schemerige errorReturn als AUErrorCapture = niets

        Probeer

            Verduister db als Nieuwe databaseLinqDataContext
            db. Connection.ConnectionString =
                furConn.ConnectionString

            Schemerige itemIm = van I in db.AUOrigImages _
                         Waar i.ItemCode = ItemCode _
                         Selecteer i.ImageContent

            Verduister newResizedImage als Byte () = niets
            Verduister stroom als MemoryStream

            Voor Elke retI in itemIm
                newResizedImage = retI.ToArray
                stroom = Nieuwe MemoryStream (newResizedImage)
                ResizeThumbImage (CDbl (0.1), stroom, ItemCode)
             Daarna

        Vangst ex als Uitzondering
            Werp ex
        Het eind probeert

        Terugkeer errorReturn
    De Functie van het eind





Privé SubResizeThumbImage (ByVal scaleFactor zoals Dubbel, ByVal Filetoresize als MemoryStream, ByVal itemCodetoSave als Koord)

        Probeer

            Verduister image__1 = System.Drawing.Image.FromStream (Filetoresize)
            Verduister newWidth = CInt ((* scaleFactor image__1.Width))
            Verduister newHeight = CInt ((* scaleFactor image__1.Height))
            Verduister thumbnailBitmap = Nieuwe System.Drawing.Bitmap (newWidth, newHeight)

            Verduister thumbnailGraph = System.Drawing.Graphics.FromImage (thumbnailBitmap)
            thumbnailGraph.CompositingQuality = CompositingQuality.HighQuality
            thumbnailGraph.SmoothingMode = SmoothingMode.HighQuality
            thumbnailGraph.InterpolationMode = InterpolationMode.HighQualityBicubic

            Schemerige imageRectangle = Nieuwe System.Drawing.Rectangle (0, 0, newWidth, newHeight)
            thumbnailGraph.DrawImage (image__1, imageRectangle)
            'Het coderen Parameters
            De schemerige kwaliteit als Geheel = 90 '90 is het magische plaatsen - werkelijk. Het heeft uitstekende kwaliteit en dossiergrootte.
            Schemerige encoderParameters als Nieuwe System.Drawing.Imaging.EncoderParameters (1)
            encoderParameters.Param (0) = Nieuwe System.Drawing.Imaging.EncoderParameter (System.Drawing.Imaging.Encoder.Quality, CLng (kwaliteit))

            Schemerige fs als System.IO.MemoryStream = Nieuwe System.IO.MemoryStream ()

            thumbnailBitmap.Save (fs, image__1.RawFormat)

            Schemerige img als Byte () = Nieuwe Byte (fs. Lengte) {}


            Schemerige db als Nieuwe databaseLinqDataContext
            db. Connection.ConnectionString =
                furConn.ConnectionString

            db.AUResizeThumbImage (itemCodetoSave, itemCodetoSave & „.jpg“, img)

            thumbnailGraph.Dispose ()
            thumbnailBitmap.Dispose ()
            image__1.Dispose ()

        Vangst ex als Uitzondering
            Werp ex
        Het eind probeert
    Sub van het eind

Antwoord : Re grootteBeeld in geheugen van Byte ()

Bijna ziet het recht, in de functie ResizeThumbImage:

thumbnailBitmap.Save (fs, image__1.RawFormat)
Schemerige img als Byte () = Nieuwe Byte (fs. Lengte) {}
db.AUResizeThumbImage (itemCodetoSave, itemCodetoSave & „.jpg“, img)


U zet nooit eigenlijk om het even welke inhoud in de img byteserie.  U verklaart het de juiste grootte, maar zijn nog leeg.

Verander deze lijn:
   Verduister img als Byte () = Nieuwe Byte (fs. Lengte) {}
aan:
   Schemerige img als Byte () = fs.ToArray ()
Andere oplossingen  
 
programming4us programming4us