نمایش نتایج 1 تا 17 از 17

نام تاپیک: نشون دادن عکس توی کنترل picturebox

  1. #1
    کاربر دائمی
    تاریخ عضویت
    آبان 1388
    محل زندگی
    شیراز
    پست
    222

    نشون دادن عکس توی کنترل picturebox

    با سلام
    من توی پروژم عکی رو به همراه فیلد های دیگه توی بانک ذخیره کردم یه دکمه هم برای جستجو دارم و این کد ها رو توی اون نوشتم که همه فیلد ها رو نشون میده اما نمیدونم چه جوری اون فیلد عکس رو درون کنترل picturebox نشون بدم یعنی اونجایی که با قرمز مشخص کردم نمیدونم چه کدی باید بنویسم عکس ها رو به صورت باینری ذخیره کردم لطفا کمک کنید
    کدی که نوشتم هم اینجوریه:
    private void button6_Click(object sender, EventArgs e)
    {
    string conection = "Data Source=SARA-PC\\SQLEXPRESS;Initial Catalog=amuzeshgahzaban;Integrated Security=True";
    SqlConnection con = new SqlConnection(conection);
    if (maskedTextBox3.Text == "") { MessageBox.Show("لطفا کد را وارد نمایید"); }
    else
    {
    con.Open();
    string qury = "select * from moteqazi where codek='" + maskedTextBox3.Text + "'";
    SqlDataAdapter da = new SqlDataAdapter(qury, con);
    DataTable dt = new DataTable();
    da.Fill(dt);
    for (int i = 0; i < dt.Rows.Count; i++)
    {
    maskedTextBox1.Text = dt.Rows[i][0].ToString();
    textBox1.Text = dt.Rows[i][1].ToString();
    textBox2.Text = dt.Rows[i][2].ToString();
    textBox3.Text = dt.Rows[i][3].ToString();
    maskedTextBox2.Text = dt.Rows[i][4].ToString();
    textBox4.Text = dt.Rows[i][5].ToString();
    textBox5.Text = dt.Rows[i][6].ToString();
    textBox6.Text = dt.Rows[i][7].ToString();
    textBox7.Text = dt.Rows[i][8].ToString();
    textBox8.Text = dt.Rows[i][9].ToString();
    comboBox1.Text = dt.Rows[i][10].ToString();
    pictureBox1.Image=?




    }

    con.Close();

    if (dt.DefaultView.Count == 0) { MessageBox.Show("متقاضی با کد " + maskedTextBox3.Text + " " + "موجود نمی باشد"); }
    else
    {
    toolStripStatusLabel2.Text = "جستجو با موفقیت انجام شد";

    button3.Enabled = true;
    }

    }

    }



  2. #2

  3. #3
    کاربر دائمی
    تاریخ عضویت
    آبان 1388
    محل زندگی
    شیراز
    پست
    222

    نقل قول: نشون دادن عکس توی کنترل picturebox

    عکس ها رو به صورت [] byte توی databaseذخیره میکنم

  4. #4
    کاربر دائمی آواتار M.YasPro
    تاریخ عضویت
    آبان 1386
    محل زندگی
    Kernel
    پست
    1,171

    نقل قول: نشون دادن عکس توی کنترل picturebox

    سلام


    private bool SearchPic()
    {
    DataSet objDataSet;
    SqlConnection objConnection = new SqlConnection("connection");
    SqlCommand objCommand = new SqlCommand();
    objCommand.CommandText = "select p_pic from tblPerson where p_id='" + txtid.Text + "'";//"select " + txtField.Text + " from " + txtTable.Text + " where " + txtfieldcrit.Text + "='" + txtid.Text + "'";
    objCommand.Connection = objConnection;
    objCommand.CommandType = CommandType.Text;
    SqlDataAdapter objDataAdapter = new SqlDataAdapter();
    objDataAdapter.SelectCommand = objCommand;
    objDataSet = new DataSet();
    objDataAdapter.Fill(objDataSet);
    if (objDataSet.Tables[0].Rows.Count == 0)
    return false;
    Bitmap map = ByteArrayToBitmap((byte[])objDataSet.Tables[0].Rows[0][0]);
    pictureBox1.Image = map;
    pictureBox1.Refresh();
    return true;
    }

    public Bitmap ByteArrayToBitmap(byte[] bytes)
    {
    MemoryStream ms = new MemoryStream(bytes);
    BinaryFormatter formatter = new BinaryFormatter();
    Bitmap map = (Bitmap)formatter.Deserialize(ms);
    ms.Close();
    return map;
    }

    public byte[] BitmapToByteArray(Bitmap map)
    {
    byte[] bytes;
    MemoryStream ms = new MemoryStream();
    BinaryFormatter formatter = new BinaryFormatter();
    formatter.Serialize(ms, map);
    bytes = ms.GetBuffer();
    ms.Close();
    return bytes;
    }


  5. #5
    کاربر دائمی
    تاریخ عضویت
    آبان 1388
    محل زندگی
    شیراز
    پست
    222

    Smile نقل قول: نشون دادن عکس توی کنترل picturebox

    ممنون از راهنمایی شما
    ولی چه جوری از این کد استفاده کنم منظورم اینه که کجای کد خودم باید این کد رو قرار بدم

  6. #6
    کاربر دائمی آواتار M.YasPro
    تاریخ عضویت
    آبان 1386
    محل زندگی
    Kernel
    پست
    1,171

    نقل قول: نشون دادن عکس توی کنترل picturebox

    اين موارد رو نسبت به ديتابيستون تغيير بديد :
    كانكشن استرينگ ، Command.CommandText

    و بايد يه pictureBox1 هم داشته باشيد
    شما كجاش رو مشكل داريد ؟

  7. #7
    کاربر دائمی
    تاریخ عضویت
    آبان 1388
    محل زندگی
    شیراز
    پست
    222

    نقل قول: نشون دادن عکس توی کنترل picturebox

    سلام
    ممنون از راهنماییاتون
    فعلا کد شما رو طبق کد های خودم تغییر دادم یعنی در کد خودم دو خط زیر رو اضاف کردم فقط namespace های تو تا تابعByteArrayToBitmapوBitmapToByteArray رو نمیشناسه چه فضای نامی رو باید اون بالا اضاف کنم و اگه میشه در باره این دو تا تابع بیشتر توضیح بدیدمنظورم طرز کار است.
    Bitmap map = ByteArrayToBitmap((byte[])dt.Rows[i][10]);
    pictureBox1.Image = map;
    با تشکر فراوان

  8. #8
    کاربر دائمی آواتار M.YasPro
    تاریخ عضویت
    آبان 1386
    محل زندگی
    Kernel
    پست
    1,171

    نقل قول: نشون دادن عکس توی کنترل picturebox

    فكر مي كنم فضاي نام هاي

    System.Runtime.Serialization.Formatters.Binary
    system.io

    كافي باشه.
    متد ByteArrayToBitmap يه ارايه از نوع byte مي گيره و تبديل به bitmap مي كنه .
    و BitmapToByteArra هم بالعكس

    موفق باشيد .

  9. #9
    کاربر دائمی
    تاریخ عضویت
    آبان 1388
    محل زندگی
    شیراز
    پست
    222

    نقل قول: نشون دادن عکس توی کنترل picturebox

    برنامم توی خط Bitmap map = (Bitmap)formatter.Deserialize(ms); این ارور رو میده
    The input stream is not a valid binary format. The starting contents (in bytes) are: FF-D8-FF-E0-00-10-4A-46-49-46-00-01-02-01-00-B4-00 ...
    ببخشیدا ولی نمیشه یه راه ساده تر بگید ببینید اگه اولین پست رو نگاه کنید من یه خط رو با رنگ قرمز نشون دادم نمیشه همون جا یه کدی نوشت که عکس رو که به صورت باینری در بانک ذخیره شده بشه توی کنترل picture box نشون داد .
    لطفا راهنمایی کنید

  10. #10
    کاربر دائمی
    تاریخ عضویت
    آبان 1388
    محل زندگی
    شیراز
    پست
    222

    نقل قول: نشون دادن عکس توی کنترل picturebox

    آیا فریادرسی است که به فریاد من برسد
    خواهش میکنم کمک کنید بدجوری گیر کردم

  11. #11
    کاربر دائمی آواتار M.YasPro
    تاریخ عضویت
    آبان 1386
    محل زندگی
    Kernel
    پست
    1,171

    نقل قول: نشون دادن عکس توی کنترل picturebox

    شما مطمئن هستي كه از فيلدتون از نوع varBinary هست ؟
    راه ساده تر تينه كه ادرسشون رو ذخيره كني .

  12. #12
    کاربر دائمی
    تاریخ عضویت
    آبان 1388
    محل زندگی
    شیراز
    پست
    222

    نقل قول: نشون دادن عکس توی کنترل picturebox

    سلام
    فیلد عکس من دربانک از نوع image است من عکس رو با fileopen میگیرم و آدرسش رو به تابع زیر میدم و این تابع اون رو به binary تبدیل می کنه و خود عکس رو به صورت binaryدر بانک ذخیره میکنم
    byte[] ReadFile(string sPath)
    {
    byte[] data = null;
    FileInfo fInfo = new FileInfo(sPath);
    long numBytes = fInfo.Length;
    FileStream fStream = new FileStream(sPath, FileMode.Open, FileAccess.Read);
    BinaryReader br = new BinaryReader(fStream);
    data = br.ReadBytes((int)numBytes);
    return data;
    }

  13. #13
    کاربر دائمی
    تاریخ عضویت
    آبان 1388
    محل زندگی
    شیراز
    پست
    222

    نقل قول: نشون دادن عکس توی کنترل picturebox

    آی ملت یعنی این سوال من جواب نداره توروخدا یکی کمک کنه
    آخرین ویرایش به وسیله sara_mp : دوشنبه 10 خرداد 1389 در 20:58 عصر

  14. #14
    کاربر دائمی
    تاریخ عضویت
    آبان 1388
    محل زندگی
    شیراز
    پست
    222

    نقل قول: نشون دادن عکس توی کنترل picturebox

    بابا یکی نیست به من کمک کنه
    یه بار دیگه سوالم رو میگم
    من عکسام رو به صورت باینری توی بانک ذخیره میکنم فیلد عکسم در بانک به صورت imageاست حالا می خواهم یه select بنویسم و یه عکس رو دورن کنترل pictureboxنشون بدم
    فکر نمیکنم سوالم بی ربط باشه که کسی نتونه به اون جواب بده اگه کسی بلده کدشو برام بزاره خیلی ممنون میشم .

  15. #15
    کاربر دائمی آواتار s.khoshfekran
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    تهران
    پست
    503

    نقل قول: نشون دادن عکس توی کنترل picturebox


  16. #16
    کاربر دائمی
    تاریخ عضویت
    آبان 1388
    محل زندگی
    شیراز
    پست
    222

    نقل قول: نشون دادن عکس توی کنترل picturebox

    با سلام
    مشکل من با این چند تا خط کد حل شد این کد ها رو اینجا میزارم تا بقیه هم استفاده کنند
    MemoryStream Memory = new MemoryStream();
    byte[] ByteArray1 = (byte[])dataGridView1.Rows[e.RowIndex].Cells[0].Value;
    Memory.Write(ByteArray1, 0, ByteArray1.Length);
    pictureBox2.Image = Image.FromStream(Memory);

  17. #17
    کاربر دائمی
    تاریخ عضویت
    آبان 1388
    محل زندگی
    شیراز
    پست
    222

    نقل قول: نشون دادن عکس توی کنترل picturebox

    البته اگه بخاهیم عکس رو از datatableبخونیم کدش این جوری میشه
    MemoryStream Memory = new MemoryStream();
    byte[] ByteArray1 = (byte[])dt.Rows[i][11];
    Memory.Write(ByteArray1, 0, ByteArray1.Length);

    pictureBox2.Image = Image.FromStream(Memory);
    [/quote]
    متغیر i ثابته ولی متغیر j بسته به تعداد داده ها توی datatable تغییر میکنه

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •