In urma cu cateva zile am avut nevoie, pentru a doua oara, pt ca mi-a mai trebuit si in urma cu cateva luni, o cale de a redimensiona o imagine proportional. Asadar, am scris de doua ori aceleasi, sau aproape aceleasi, linii de cod. Si pentru ca presimt ca o sa am nevoie de ele in viitor, si deoarece nu am gasit o functie ready pe net care sa faca ceea ce imi trebuia mie, m-am gandit s-o pun aici, pentru mine sau pt oricine o sa aiba vre-odata nevoie de as ceva.
| Cod: |
|
/// <summary> /// resize the image to specified size. If the second parameter cannot be converted /// to int, a default value (110) is used. /// </summary> /// <param name="img"></param> /// <param name="s_size"></param> /// <returns></returns> private System.Drawing.Image ResizeImage(System.Drawing.Image img, string s_size) { int size = 110; int.TryParse(s_size, out size); if (size < 1) throw new Exception("Invalid Size"); int nW, nH; if (img.Height > img.Width) { nH = size; nW = img.Width * nH / img.Height; } else { nW = size; nH = img.Height * nW / img.Width; } System.Drawing.Image oThmb = new Bitmap(size, size); Graphics g = Graphics.FromImage(oThmb); g.FillRectangle(Brushes.White, 0, 0, size, size); RectangleF r = new RectangleF((size - nW) / 2, (size - nH) / 2, nW, nH); g.DrawImage(img, r); g.Dispose(); return oThmb; } |
http://www.programare.org/trackback.php?e=562
| Autor | Mesaj |
|---|---|
| There are no replies for this entry. | |