IMAGE Resize problem
Hej,Jeg har sådan at jeg loader en billede ind i imagebox. Billederne jeg loader ind er af forskellig størrelse så jeg ville gerne have at den Resize'ede dem når den henter dem.
Jeg fandt i spg. http://www.eksperten.dk/spm/550297, en løsning som jeg tror der virker.
Jeg har prøvet at tilpasse denne men hver eneste gang jeg henter den så laver den en Object not set to a instance.
koden ser sådan ud ( og den fejler der hvor jeg har sat en pil)
public partial class medarbejder : System.Web.UI.Page
{
string side;
OleDbConnection myConn;
OleDbDataAdapter myCmd;
protected const int WIDTH = 100;
protected const int HEIGHT = 150;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string strDSN = @"Provider=Microsoft.Jet.OLEDB.4.0 ;Data Source=";
strDSN += Server.MapPath("App_Data\\beck.mdb");
myConn = new OleDbConnection(strDSN);
side = Request.QueryString["side"];
string query = "select * FROM brugere where navn= '" + side + " '";
if (side == null)
{
myConn.Open();
start.Visible = true;
picBox.Visible = false;
myConn.Close();
}
else
{
string path = "Img";
start.Visible = false;
picBox.Visible = true;
myConn.Open();
myCmd = new OleDbDataAdapter(query, myConn);
DataSet ds = new DataSet();
myCmd.Fill(ds, "brugere");
foreach (DataRow dr in ds.Tables[0].Rows)
{
path = dr["pic1"].ToString();
}
Bitmap bmp = ImageResizer.RezizeImage(path, WIDTH, HEIGHT);
Response.ContentType = "image/jpeg";
HER --> bmp.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);
bmp.Dispose();
Image1.ImageUrl = path;
DataList1.DataSource = ds;
DataList1.DataBind();
}
myConn.Close();
}
}
public class ImageResizer
{
public static Bitmap RezizeImage(string filePath, int width, int height)
{
System.Drawing.Bitmap bmpOut = null;
try
{
Bitmap bmp = new Bitmap(filePath);
bmpOut = new Bitmap(width, height);
Graphics g = Graphics.FromImage(bmpOut);
g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
g.FillRectangle(Brushes.White, 0, 0, width, height);
g.DrawImage(bmp, 0, 0, width, height);
bmp.Dispose();
}
catch
{
return null;
}
return bmpOut;
}
}
Er der nogen der umiddelbart lige kan gennemskue hvad der går galt ?
mvh Brian
