Lightbulb تغییر اندازه عکس قبل از ذخیره در دیتابیس ...
سلام به همه ...
بعضی وقتا لازمه که عکس هم توی بانک ذخیره شه ، اما ممکن کاربر تصاویری در ابعاد مختلف رو انتخاب کنه !
با این چند خط میشه اندازه دلخواه رو در بانک ثبت کرد .
طبیعتا باس اول عکس رو انتخاب کرد :
کد PHP:
OpenFileDialog op = new OpenFileDialog();
if (op.ShowDialog() == DialogResult.OK)
{
txtImage.Text = op.SafeFileName;
pictureBox1.ImageLocation = op.FileName;
}
متد تغییر اندازه :
کد PHP:
using System.Drawing;
public static Image resizeImage(Image imgToResize, Size size)
{
return (Image)(new Bitmap(imgToResize, size));
}
اصل کار اینجاست که قبل از کامل شدن بارگذاری عکس در pictureBox اندازه تغییر میکنه :
کد PHP:
private void pictureBox1_LoadCompleted(object sender, System.ComponentModel.AsyncCompletedEventArgs e) // تغییر اندازه تصویر قبل از ذخیره در بانک
{
pictureBox1.Image = resizeImage(pictureBox1.Image, new Size(80, 80));
}
البته ذخیره در بانک رو محض یادآوری میزارم ...
ریختن عکس در آرایه بصورت بیت :
کد PHP:
public static byte[] ImageToByte(Image img)
{
ImageConverter converter = new ImageConverter();
return (byte[])converter.ConvertTo(img, typeof(byte[]));
}
کلید ذخیره :
کد PHP:
string query = "Insert Into Pic (Nam, Pic) Values (@n, @P)";
SqlCommand com1 = new SqlCommand(query, con1);
com1.Parameters.AddWithValue("@n", txtName.Text);
com1.Parameters.AddWithValue("@P", ImageToByte(pictureBox1.Image));
con1.Open();
com1.ExecuteNonQuery();
con1.Close();
-------------------------------
هیچ چیز مثل یاد گرفتن حال نمیده ! (مخصوصا واسه آدمای معمولی مث من)
اما بهتر از اون سریع یاد دادن به بقیه است !!!
.
.
.