Array
(
)

Atribuir imagem a variável

Dirceu Azevedo
   - 28 nov 2011

Tenho o seguinte código.
MemoryStream ms = new MemoryStream(fupTravel.FileBytes);
Bitmap map = System.Drawing.Image.FromStream(ms) as Bitmap;
System.Drawing.Image thumbnail = new Bitmap(300, 250);
System.Drawing.Graphics graphic = System.Drawing.Graphics.FromImage(thumbnail);
graphic.DrawImage(map, 0, 0, 300, 250);
thumbnail.Save(HttpContext.Current.Server.MapPath(@ + fupTravel.FileName), System.Drawing.Imaging.ImageFormat.Jpeg);Ele pega a imagem vinda de fupTravel.FileBytes, inependente do tamano e converte para o tamnho 300 x 250 px. A última linha grava a imagem no computador.
O que preciso e não estou conseguindo fazer, criar uma variável com essa imagem gerada.
Por exemplo:
Variável MinhaImagem = Imagem convetida pelo MemoryStream no tamanho 300 x 250 px.
Como posso atribuir esta imagem gerada a minha variável.
Grato

Dirceu Martins de Azevedo
Grupo e-usinas Piracicaba/SP

Dirceu Azevedo
   - 30 nov 2011

Olá,

O que preciso é o seguinte:

Tenho esse código:

protected void btnSave_Click(object sender, EventArgs e)
{

ms = new MemoryStream(fupTravel.FileBytes); Bitmap map = System.Drawing.Image.FromStream(ms) as Bitmap; System.Drawing.Image thumbnail = new Bitmap(300, 250); System.Drawing.Graphics graphic = System.Drawing.Graphics.FromImage(thumbnail); graphic.DrawImage(map, 0, 0, 300, 250); thumbnail.Save(HttpContext.Current.Server.MapPath(@ + fupTravel.FileName), System.Drawing.Imaging.ImageFormat.Jpeg);string str = txtTravel.Text; byte[] bytPhoto = fupTravel.FileBytes; insertImage(str,bytPhoto); }

Pega uma imagem em qualquer tamanho e coverte para uma imagem de 300 x 250px, Certo.

Preciso pegar a imagem tratada pelo MemoryStream e passa-la para ser gravada no banco de dados:

byte[] bytPhoto = Imagem tratada pelo MemoryStream em tamanho 300 x 250 pixelsDai passa-la para gravar aqui:

private void insertImage(string strTravel, byte[] imgTravel)
{
using(SqlConnection con = new SqlConnection(_connectionString) )
{
string sql = INSERT INTO DEV_TRAVEL (TRAVEL, TRAVEL_IMAGE) VALUES (@travel,@image);

SqlCommand cmd = new SqlCommand(sql,con);
cmd.CommandType = CommandType.Text;

//Initialize parameters
cmd.Parameters.AddWithValue(@travel, SqlDbType.VarChar).Value = strTravel;

cmd.Parameters.AddWithValue(@image, SqlDbType.VarBinary).Value = imgTravel;

con.Open();
cmd.ExecuteNonQuery();

}
}

}

Como faço isso?

Grato