السلام عليكم
اخواني اريد اداة تجعلني اسحب الصور من الاسكانر انا سمعت عن هذي الاداة
لكن بصراحة هي غير مجانية ياريت لو في أي شخص عنده هذي الاداة تعمل على طول يرسلها ...لكي استخدمها .
السلام عليكم
اخواني اريد اداة تجعلني اسحب الصور من الاسكانر انا سمعت عن هذي الاداة
لكن بصراحة هي غير مجانية ياريت لو في أي شخص عنده هذي الاداة تعمل على طول يرسلها ...لكي استخدمها .
فلسطين .. سوريا ..بورما ......وماذا بعد ؟!
سابقا
medo_programming
موقعي : www.alkhayat-it.com
مواضيع مهمه
-----------------------------------------------:
و عليكم السلام و رحمة الله و بركاته
استخدم أداة مايكروسوفت 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
[سبحان الله و بحمده, سبحان الله العظيم]
جزاك الله خيرا ان شاء الله بجرب الكود
فلسطين .. سوريا ..بورما ......وماذا بعد ؟!
سابقا
medo_programming
موقعي : www.alkhayat-it.com
مواضيع مهمه
-----------------------------------------------:
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…