c#µ÷ÓÃcº¯ÊýÎÊÌâ - C/C++ / CÓïÑÔ
×î½üÔÚ×öÖ¸ÎÆÊ¶±ðµÄʱºò£¬Óöµ½¸öÎÊÌ⣬Çë¸ßÊÖÃǰï°ïæ
³§ÉÌÌṩµÄdllÀï±ßÓиö·½·¨
C/C++ code:
extern "C" __declspec(dllimport) BOOL FPSAPI CaptureImage(BYTE uwTimeoutS,BYTE* pRawImage);
c#µ÷ÓÃÓ³ÉäÊÇÕâÑù
C# code:
/// <summary>
/// ²¶»ñͼÏó
/// </summary>
/// <param name="uwTimeoutS">³¬Ê±Ê±¼ä</param>
/// <param name="pRawImage">´æÖüͼÏóÊý¾Ý</param>
/// <returns>1³É¹¦£¬ÆäËûʧ°Ü</returns>
[DllImport("fpsiml.dll", EntryPoint = "CaptureImage", CallingConvention = CallingConvention.Winapi, CharSet = CharSet.Unicode)]
public static extern int CaptureImage(UInt16 uwTimeoutS, byte[] pRawImage);
µ«Êǵ÷ÓÃÕâ¸ö·½·¨ºó£¬pRawImage×Ö½ÚÊý×éµÄÿһ¸ö×Ö½Ú¶¼ÊÇ255£¬ÎÒÏëÊDz»ÊÇÕâ¸öº¯Êý¶ÔÓ¦´«µÄÊý¾ÝÀàÐÍÓÐÎÊÌâ¡£
¹Ø×¢ÏÂ
ǧÍò±ð³Á
ÊÔÊÔ
public static extern int CaptureImage(UInt16 uwTimeoutS, ref byte[] pRawImage);
ÊÔ¹ýÎÞÓ㬴«Ê××Ö½ÚÒ²ÎÞÓá£Í·¶¼´óÁË£¬delphiʾÀý´«µÄÊÇÊ××Ö½Ú£¬ºÜÕý³£¡£
BYTE* pRawImage Õâ¸öÊÇÖ¸Õë´óÐ¡ÄØ£¿Õâʱ·ÇÍйܶÔÏó£¬c#Ã²ËÆ²»»á¸øÄã×Ô¶¯×ª°É
ÒÔǰÎÒÓöµ½ÕâÖÖ±äÁ¿Ê±£¬ÓÃIntPtrµÄ
ËùÒÔ ÄãµÄº¯Êý¿ÉÄÜÕâô¶¨Òå
[DllImport(&q
Ïà¹ØÎÊ´ð£º
ÇëÎÊVFPÖÐÈçºÎµ÷ÓÃC/C++º¯Êý£¿
ÄãÒªµ÷ÓÃʲô¹¦Äܵĺ¯Êý£¿Òª¿´¿´VFPÖÐÓÐûÓжÔÓ¦µÄº¯Êý£¬Èç¹ûÓоÍÊ¡×ÅÔÙµ÷ÓÃÁË¡£Èç¹ûûÓУ¬¿ÉÒÔ½«C/C++º¯Êýд¸öDLL»òFLL£¬È»ºóÔÚVFPµ÷Óü´¿É¡£
Ê®¶¹Èý ÀÏʦ£¬Ôõô²ÅÄÜÐÞ¸Ä×Ô¼ºµÄ ......
´ó¼ÒºÃ£¬ÕâÊÇÒ»¸öÖ÷ÒªÃæÏòc/c++/mfcµÄȺ£¬×î½ü½øÐÐÁËÒ»´Î´óÇåÀí£¬»¶Ó¸÷λ¸ßÊÖ¼ÓÈ룬ºÃѧ°®ÎʵÄÐÂÊÖ£¬Ò²¿ÉÒÔÉêÇëµÄ£¬ÉêÇë¸ñʽ Ö°Òµ£¨c/c++/mfc ÈÎѡһ»òÕ߶ࣩ ¹¤×÷ÄêÏÞ£¨Ñ§ÉúÖ±½Óд´ó¼¸£©¾ÍÐÐÁË£¬ÈëȺµÄÒªÇó¾ÍÊÇÒª» ......
ÓÐÒ»10*10¾ØÕ󣬳ýÈ¥µÚÒ»¸öµã£¨0£¬0£©ºÍ×îºóÒ»µã£¨9£¬9£©£¬»¹Óа˸öµãΪ1£¬ÆäËû¶¼Îª0£¬ÒªÇóÓöþάÊý×é±íʾ¡£°Ë¸öµãÊÇËæ»úÉú³ÉµÄ£¬±àдÏà¹Ø³ÌÐò±íʾ¾ØÕóËùÓпÉÄÜÇé¿ö¡£
ÕæÐÄÇó½Ì¸÷λ¸ßÊÖ£¬°¥£¡±¾ÈËÌ«²ËÁË£¡ºÇºÇ£¡
......