ربيع
01-08-2014, 12:29 AM
السلام عليكم ورحمة الله
من بين الطرق المعتمدة في أخذ صورة واجهة البرنامج
وتصديرها في صيغة صورة حتى تسهل طباعتها
01- حمل الملف التالي فك ضغطه و ازرعه في مجلد Docs
http://www.gulfup.com/?whvEKW
02-أضف في ساحة العمل عنصر Image ونعطيه التسمية tham
هذا العنصر اجعله بأصغر حجم ممكن و غير مرئي لأن دوره استقبال ماتم التقاطه فهو وسيط لنجاح العملية
03 - نتوجه الى global functions
ونكتب مايلي :
CaptureFlag = { Simple = 0, Extended = 1 };
WindowCapture = {};
function WindowCapture.GetFileName()
return DLL.CallFunction("AutoPlay\\Docs\\WindowCapture.dll", "GetFileName", "", DLL_RETURN_TYPE_STRING, DLL_CALL_STDCALL);
end
function WindowCapture.SetFileName(fileName)
DLL.CallFunction("AutoPlay\\Docs\\WindowCapture.dll", "SetFileName", "\""..fileName.."\"", DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL);
end
function WindowCapture.GetImageFile()
return DLL.CallFunction("AutoPlay\\Docs\\WindowCapture.dll", "GetImageFile", "", DLL_RETURN_TYPE_STRING, DLL_CALL_STDCALL);
end
function WindowCapture.CaptureFromHwnd(hWnd, captureFlag)
return DLL.CallFunction("AutoPlay\\Docs\\WindowCapture.dll", "CaptureFromHwnd", hWnd..","..captureFlag, DLL_RETURN_TYPE_STRING, DLL_CALL_STDCALL);
end
04 - نتوجه الى الصفحة و في on show نكتب :
WindowCapture.SetFileName("image.jpeg");
Page.StartTimer(1000);
05 - وفي on timer نكتب :
fileName = WindowCapture.GetImageFile();
if (File.DoesExist(fileName) == true) then
Image.Load("tham", fileName);
end
---------
الان نأتي الى الزر المسؤول عن عملية أخذ صورة و تحويلها -مثلا- الى سطح المكتب
نكتب فيه :
fileName = WindowCapture.CaptureFromHwnd(Application.GetWndHa ndle(), CaptureFlag.Simple);
File.Copy(fileName, _DesktopFolder.."\\bel.jpg", true, true, false, true, nil);
انتهى السلام عليكم
من بين الطرق المعتمدة في أخذ صورة واجهة البرنامج
وتصديرها في صيغة صورة حتى تسهل طباعتها
01- حمل الملف التالي فك ضغطه و ازرعه في مجلد Docs
http://www.gulfup.com/?whvEKW
02-أضف في ساحة العمل عنصر Image ونعطيه التسمية tham
هذا العنصر اجعله بأصغر حجم ممكن و غير مرئي لأن دوره استقبال ماتم التقاطه فهو وسيط لنجاح العملية
03 - نتوجه الى global functions
ونكتب مايلي :
CaptureFlag = { Simple = 0, Extended = 1 };
WindowCapture = {};
function WindowCapture.GetFileName()
return DLL.CallFunction("AutoPlay\\Docs\\WindowCapture.dll", "GetFileName", "", DLL_RETURN_TYPE_STRING, DLL_CALL_STDCALL);
end
function WindowCapture.SetFileName(fileName)
DLL.CallFunction("AutoPlay\\Docs\\WindowCapture.dll", "SetFileName", "\""..fileName.."\"", DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL);
end
function WindowCapture.GetImageFile()
return DLL.CallFunction("AutoPlay\\Docs\\WindowCapture.dll", "GetImageFile", "", DLL_RETURN_TYPE_STRING, DLL_CALL_STDCALL);
end
function WindowCapture.CaptureFromHwnd(hWnd, captureFlag)
return DLL.CallFunction("AutoPlay\\Docs\\WindowCapture.dll", "CaptureFromHwnd", hWnd..","..captureFlag, DLL_RETURN_TYPE_STRING, DLL_CALL_STDCALL);
end
04 - نتوجه الى الصفحة و في on show نكتب :
WindowCapture.SetFileName("image.jpeg");
Page.StartTimer(1000);
05 - وفي on timer نكتب :
fileName = WindowCapture.GetImageFile();
if (File.DoesExist(fileName) == true) then
Image.Load("tham", fileName);
end
---------
الان نأتي الى الزر المسؤول عن عملية أخذ صورة و تحويلها -مثلا- الى سطح المكتب
نكتب فيه :
fileName = WindowCapture.CaptureFromHwnd(Application.GetWndHa ndle(), CaptureFlag.Simple);
File.Copy(fileName, _DesktopFolder.."\\bel.jpg", true, true, false, true, nil);
انتهى السلام عليكم