الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

أريد طريقة لسحب الصور من الاسكانر

بدأه MS_SQL في 25 أغسطس 2012 · 2 رد · 743 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

اخواني اريد اداة تجعلني اسحب الصور من الاسكانر انا سمعت عن هذي الاداة

post-126189-090437400 1345881090_thumb.j

لكن بصراحة هي غير مجانية ياريت لو في أي شخص عنده هذي الاداة تعمل على طول يرسلها ...لكي استخدمها .

المرفقات
gdtwain-ocx-twain-activex-control.jpg
1

فلسطين .. سوريا ..بورما ......وماذا بعد ؟!

سابقا

medo_programming

موقعي : www.alkhayat-it.com

مواضيع مهمه

-----------------------------------------------:

تعلم كل شىء عن الTriggers

#2

و عليكم السلام و رحمة الله و بركاته

استخدم أداة مايكروسوفت Windows Image Acquisition WIA

حملها من موقع مايكروسوفت ثم أضف ريفرنس إلى مشروعك, و استخدم هذا الكود

using WIA;

void ScanAndSaveImage()
        {
            try
            {
                CommonDialogClass class1 = new CommonDialogClass();
                Device d = class1.ShowSelectDevice(WiaDeviceType.UnspecifiedDeviceType, true, false);
                if (d != null)
                    this.DeviceID = d.DeviceID;
                else
                    return;
            }
            catch(Exception exp)
            {
                MessageBox.Show(exp.Message);
                return;
            }
            WIA.CommonDialog WiaCommonDialog = new CommonDialogClass();
            DeviceManager manager = new DeviceManagerClass();
            Device WiaDev = null;
            foreach (DeviceInfo info in manager.DeviceInfos)
            {
                if (info.DeviceID == this.DeviceID)
                {
                    WIA.Properties infoprop = null;
                    infoprop = info.Properties;
                    WiaDev = info.Connect();
                    break;
                }
            }
            //Start Scan
            WIA.ImageFile img = null;
            WIA.Item Item = WiaDev.Items[1] as WIA.Item;
            try
            {

                    foreach (WIA.Property itemProperty in Item.Properties)
                    {
                        Object tempNewProperty;
                        if (itemProperty.Name.Equals("Horizontal Extent"))
                        {
                            tempNewProperty = 210;
                            ((IProperty)itemProperty).set_Value(ref tempNewProperty);
                        }
                        else if (itemProperty.Name.Equals("Vertical Extent"))
                        {
                            tempNewProperty = 275;
                            ((IProperty)itemProperty).set_Value(ref tempNewProperty);
                        }
                        else if (itemProperty.Name.Equals("Horizontal Resolution"))
                        {
                            tempNewProperty = 150;
                            ((IProperty)itemProperty).set_Value(ref tempNewProperty);
                        }
                        else if (itemProperty.Name.Equals("Vertical Resolution"))
                        {
                            tempNewProperty = 150;
                            ((IProperty)itemProperty).set_Value(ref tempNewProperty);
                        }
                    }
                    img = (ImageFile)WiaCommonDialog.ShowTransfer(Item, wiaFormatJPEG, false);
                    if (File.Exists("image.bmp"))
                        File.Delete("image.bmp");
                    img.SaveFile("image.bmp");
                              }
            catch (Exception ex)
            {
                MessageBox.Show("Error: " + ex.Message);
            }
            finally
            {
                Item = null;
                Property documentHandlingSelect = null;
                Property documentHandlingStatus = null;
                foreach (Property prop in WiaDev.Properties)
                {
                    if (prop.PropertyID == WIA_PROPERTIES.WIA_DPS_DOCUMENT_HANDLING_SELECT)
                        documentHandlingSelect = prop;
                    if (prop.PropertyID == WIA_PROPERTIES.WIA_DPS_DOCUMENT_HANDLING_STATUS)
                        documentHandlingStatus = prop;
                }
            }

        }

class WIA_DPS_DOCUMENT_HANDLING_SELECT
    {
        public const uint FEEDER = 0x00000001;
        public const uint FLATBED = 0x00000002;
    }

class WIA_DPS_DOCUMENT_HANDLING_STATUS
    {
        public const uint FEED_READY = 0x00000001;
    }

class WIA_PROPERTIES
    {
        public const uint WIA_RESERVED_FOR_NEW_PROPS = 1024;
        public const uint WIA_DIP_FIRST = 2;
        public const uint WIA_DPA_FIRST = WIA_DIP_FIRST + WIA_RESERVED_FOR_NEW_PROPS;
        public const uint WIA_DPC_FIRST = WIA_DPA_FIRST + WIA_RESERVED_FOR_NEW_PROPS;
        //
        // Scanner only device properties (DPS)
        //
        public const uint WIA_DPS_FIRST = WIA_DPC_FIRST + WIA_RESERVED_FOR_NEW_PROPS;
        public const uint WIA_DPS_DOCUMENT_HANDLING_STATUS = WIA_DPS_FIRST + 13;
        public const uint WIA_DPS_DOCUMENT_HANDLING_SELECT = WIA_DPS_FIRST + 14;
    }

class WIA_ERRORS
    {
        public const uint BASE_VAL_WIA_ERROR = 0x80210000;
        public const uint WIA_ERROR_PAPER_EMPTY = BASE_VAL_WIA_ERROR + 3;
    }

تم تجريب الكود سابقا, يمكنك تحديد الـ Resolution و ارتفاع و عرض منطقة المسح.

و يمكنك المسح من جهاز سكانر أو كاميرا

سيتم حفظ الصورة في الملف image.bmp

تم تعديل هذه المشاركة بواسطة khatibe_30 في 27 أغسطس 2012 في 17:38

3

[سبحان الله و بحمده, سبحان الله العظيم]

#3

جزاك الله خيرا ان شاء الله بجرب الكود

فلسطين .. سوريا ..بورما ......وماذا بعد ؟!

سابقا

medo_programming

موقعي : www.alkhayat-it.com

مواضيع مهمه

-----------------------------------------------:

تعلم كل شىء عن الTriggers

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…