0

これは私にとって非常にトリッキーであり、誰かが私を助けてくれることを願っています。

状況:私は現在C#3.5 .NETでアプリケーションを操作していますが、DLLインポートを使用してC ++で記述されたDLLとインターフェイスし、すべて正常に動作します。Luaスクリプトもあります。このスクリプトは次のとおりです。

Width           = XCamera():GetWidth()
Height          = XCamera():GetHeight()
Img             = XSensorImage()

次に、たとえば、Imgから温度を次のように計算する関数があります。

function OnFrame()
     local CoordsTable = { i, j }
     local PixelTable = Img:GetPixels( CoordsTable )
     PixelValue = FromLinearizedADU( PixelTable[1] or 0 )
end

私ができるようにしたいのは、PixelValueをアプリケーションに返すことです。

XCamera()とXSensorImage()は、カメラフィルターが初期化され、Luaスクリプトがアクティブなときに作成されるインスタンスです。

実行中にこのスクリプトからピクセル値にアクセスする方法はありますか?詳細が足りない場合は申し訳ありませんが、さらに必要な場合はお問い合わせください。フィードバックをお待ちしております。

4

2 に答える 2

0

関数からPixelValueを返すことができます。

return PixelValue;
于 2012-04-19T01:13:06.290 に答える
0

C ++ DLLはLuaランタイムをホストしており、C#アプリではありませんか?それなら、いや、それをする簡単な方法はおそらくないでしょう。DLLが共有LuaDLLを使用していて、拡張機能がロックダウンされていない場合、何らかの形式のプロセス間通信を使用してC#アプリに通信するライブラリをロードする可能性があります。

于 2012-04-19T02:57:52.500 に答える