Bitmap storlek(byte)

.NET

2 svar · 511 visningar · startad av Dino

Medlem sedan sep. 20011 914 inlägg
Trådstart#1

Har en uppladdningssida där kunder kan ladda upp bilder. Varje kund har ett visst utrymme de får fylla, x antal MB.
Vid uppladdningen så kan kunden ange önskad bredd och höjd och bilden skalas då om. Saken är den att om bilden vid uppladdningen är 1MB så kanske den efter skalning är 0,6MB. Och innan jag sparar bilden så vill jag kunna avgöra den omskalade bildens storlek(byte) så att den sammanlagda storleken inte överstiger kundens max gräns.

System.Drawing.Bitmap bitmap = null;
using (System.Drawing.Image img = System.Drawing.Image.FromStream(pf.InputStream))
{
   int width = int.Parse(tbWidht.Text);
   int height = int.Parse(tbHeight.Text);

   bitmap = new System.Drawing.Bitmap(img, width, height);
}
//Härefter vill jag kolla storleken på [I]bitmap[/I].

En tanke är ju att använda en MemoryStream, men hur får jag in bitmap där?

Medlem sedan feb. 200563 inlägg
#2

Dino skrev:

...
En tanke är ju att använda en MemoryStream, men hur får jag in bitmap där?

På en Bitmap kan man anropa metoden Image.Save (som Bitmap alltså ärver från Image). Den metoden kan ta emot en MemoryStream som parameter (eftersom MemoryStream är en subklass till Stream).

/ Tomas

Medlem sedan sep. 20011 914 inlägg
#3

Det är ju smart. Tackar så mycket.

541 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
118 ms — deklarationer (db)
120 ms — hämta statistik (db)
128 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)