bivatan
جمعه 28 اردیبهشت 1397, 23:52 عصر
سلام
من یه WindowsFormsHost به نام form دارم که در واقع یه باکسه که توش تصویر اثر انگشت بعد از اسکن نشون داده میشه و Xaml اون به صورت زیره:
<WindowsFormsHost x:Name="form" Cursor="Pen" HorizontalAlignment="Left" Height="115" Margin="40,191,0,0" VerticalAlignment="Top" Width="108" MouseDown="form_MouseDown"/>
کدم هم به صورت زیر هست :
public win_add_edit_personel()
{
InitializeComponent();
pbImageFrame = new PictureBox();
form.Child = pbImageFrame;
}
یعنی یه picturebox به نام pbImageFrame از اون WindowsFormsHost درست کردم .
با این کار من یه picturebox از نوع system.windows.forms داخل wpf دارم . چون نمیتونستم image رو مستقیم به اسکنر بشناسونم مجبور شدم ازین راه استفاده کنم .
تصویر به درستی بعد از اسکن داخل form نشون داده میشه و pbImageFrame مقدار میگیره . حالا من میخوام با زدن دکمه ثبت این تصویر داخل دیتا بیس نشون داده بشه .یعنی این عکس به آرایه ای از بایت تبدیل بشه . جست و جو کردم کد زیر رو پیدا کردم :
public byte[] ImageToByteArray(System.Drawing.Image imageIn)
{
using (var ms = new MemoryStream())
{
imageIn.Save(ms, imageIn.RawFormat);
return ms.ToArray();
}
}
و به صورت زیر اونو میخوام وارد دیتا بیسم کنم :
p.personelfingerpic = ImageToByteArray(pbImageFrame);
اما خطای زیر داده میشه .
cannot convert from system.windows.forms.picturebox to system.drawing.image!
کسی میتونه کمکم کنه که بتونم این تصویر رو به آرایه ای از رشته های باینری تبدیل کنم ؟
http://uupload.ir/files/41z2_q1q_thumb.jpg (http://uupload.ir/view/41z2_q1q.jpg)
http://uupload.ir/files/funm_uyd_thumb.png (http://uupload.ir/view/funm_uyd.png)
من یه WindowsFormsHost به نام form دارم که در واقع یه باکسه که توش تصویر اثر انگشت بعد از اسکن نشون داده میشه و Xaml اون به صورت زیره:
<WindowsFormsHost x:Name="form" Cursor="Pen" HorizontalAlignment="Left" Height="115" Margin="40,191,0,0" VerticalAlignment="Top" Width="108" MouseDown="form_MouseDown"/>
کدم هم به صورت زیر هست :
public win_add_edit_personel()
{
InitializeComponent();
pbImageFrame = new PictureBox();
form.Child = pbImageFrame;
}
یعنی یه picturebox به نام pbImageFrame از اون WindowsFormsHost درست کردم .
با این کار من یه picturebox از نوع system.windows.forms داخل wpf دارم . چون نمیتونستم image رو مستقیم به اسکنر بشناسونم مجبور شدم ازین راه استفاده کنم .
تصویر به درستی بعد از اسکن داخل form نشون داده میشه و pbImageFrame مقدار میگیره . حالا من میخوام با زدن دکمه ثبت این تصویر داخل دیتا بیس نشون داده بشه .یعنی این عکس به آرایه ای از بایت تبدیل بشه . جست و جو کردم کد زیر رو پیدا کردم :
public byte[] ImageToByteArray(System.Drawing.Image imageIn)
{
using (var ms = new MemoryStream())
{
imageIn.Save(ms, imageIn.RawFormat);
return ms.ToArray();
}
}
و به صورت زیر اونو میخوام وارد دیتا بیسم کنم :
p.personelfingerpic = ImageToByteArray(pbImageFrame);
اما خطای زیر داده میشه .
cannot convert from system.windows.forms.picturebox to system.drawing.image!
کسی میتونه کمکم کنه که بتونم این تصویر رو به آرایه ای از رشته های باینری تبدیل کنم ؟
http://uupload.ir/files/41z2_q1q_thumb.jpg (http://uupload.ir/view/41z2_q1q.jpg)
http://uupload.ir/files/funm_uyd_thumb.png (http://uupload.ir/view/funm_uyd.png)