ايران ويج

نسخه‌ی کامل: کار با اسکنر c#
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
ابتدا کلاس را به برنامه اضافه نمائید و سپس آنرا فرا خوانی کنید
کد:
public class ImageAcquisition
    {
        private WIALib.WiaClass WiaClass;
        private WIALib.ItemClass ItemClass;
        private WIALib.CollectionClass CollectionClassDevices;
        private WIALib.CollectionClass CollectionClassPics;
        

        #region SelectDevice
        public bool SelectDevice()
        {
            try
            {
                object selectUsingUI;

                WiaClass = new WIALib.WiaClass();
                CollectionClassDevices = (WIALib.CollectionClass)WiaClass.Devices;

                if (WiaClass.Devices.Count == 0)
                    return false;

                selectUsingUI = System.Reflection.Missing.Value;

                ItemClass = (WIALib.ItemClass)WiaClass.Create(ref selectUsingUI);

                if (ItemClass == null)
                    return false;

                return true;
            }
            catch (System.Exception exp)
            {
                return false;
            }
        }
        #endregion        

        #region Capture
        public System.Drawing.Image Capture()
        {
            try
            {
                CollectionClassPics = ItemClass.GetItemsFromUI(WIALib.WiaFlag.SingleImage, WIALib.WiaIntent.ImageTypeColor) as WIALib.CollectionClass;
                if (CollectionClassPics == null)
                    return null;

                ItemClass = (WIALib.ItemClass)System.Runtime.InteropServices.Marshal.CreateWrapperOfType(Col​lectionClassPics[0], typeof(WIALib.ItemClass));
                string imageFileName = System.IO.Path.GetTempFileName();
                ItemClass.Transfer(imageFileName, false);
                System.Drawing.Image Image = System.Drawing.Image.FromFile(imageFileName);

                System.Runtime.InteropServices.Marshal.ReleaseComObject(CollectionClassPics​[0]);
                return Image;
            }
            catch (System.Exception exp)
            {
                return null;
            }
        }
        #endregion
    }
این هم روش استفاده :
کد:
ImageAcquisition ImageAcquisition = new ImageAcquisition();
ImageAcquisition.SelectDevice();
this.pictureBox.Image = ImageAcquisition.Capture();
سلام ، خسته نباشید
این کلاس WIALib رو از کجا باید بیارم ؟

ممنون
با سلام و خسته نباشید

میشه جواب سؤال منو بدید ، چون به WIALib گیر میده و error میده

ممنون میشم کمکم کنید
(۱۳-شهریور-۱۳۹۲, ۲۰:۲۱:۰۸)doooste_2002 نوشته است: [ -> ]با سلام و خسته نباشید

میشه جواب سؤال منو بدید ، چون به WIALib گیر میده و error میده

ممنون میشم کمکم کنید

سلام لطفا قبل از سوال سرچ بزنید

لینک ادول
لینک دوم
خیلی ممنون
ببخشید شرمنده