webForumDet fria alternativet

Bitmap storlek(byte)

.NET

2 svar · 487 visningar · startad av Dino

Medlem sedan sep. 20011 914 inlägg
Frågan#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.

261 ms totalt · 3 externa anrop · v20260731065814-full.265f3fdd
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)