Использование синтаксиса .net в PythonC#

Место общения программистов C#
Anonymous
Использование синтаксиса .net в Python

Сообщение Anonymous »

Я пытаюсь перевести программу, написанную на .net, на Python. Я использую clr и pythonnet

Код: Выделить всё

clr.AddReference("System")
clr.AddReference("System.IO")
clr.AddReference("System.Drawing")

from System.Reflection import Assembly
from System import String, Func, Action, Array, Int32
from System.IO import FileInfo
from System.Drawing import Point
который будет импортирован правильно
Далее я импортировал dll следующим образом:

Код: Выделить всё

dll_path = os.path.abspath("Flir.Atlas.Cronos.7.5.0/lib/net452/Flir.Atlas.Image.dll")
os.environ['PATH'] += ";%s"%os.path.dirname(dll_path)

clr.AddReference(dll_path)
assembly = Assembly.LoadFile(dll_path)

clr.AddReference("Flir.Atlas.Image")
import Flir.Atlas.Image as ft
Теперь я пытаюсь прочитать текст с помощью следующего правильного синтаксиса:

Код: Выделить всё

location = Point (X, Y)
ft.ThermalImage.GetValueAt(location)
где Point импортируется, как указано выше. X и Y — это позиция. Но это не принято. Я получаю ошибку типа:

Код: Выделить всё

TypeError: No method matches given arguments for ThermalImage.GetValueAt: ()
Из документации SDK у меня есть только эта информация:

GetValueAt()
ThermalValue Flir.Atlas.Image.ThermalImage.GetValueAt (Местоположение точки)
Получает ThermalValue из позиции на тепловом изображении.
Параметры:location: точка, указывающая местоположение считываемого значения.
Возвраты:
The ThermalValue, включая значение и stateThermalValue.
< /blockquote>
Поскольку прямые параметры не принимаются, я попытался создать функцию, возвращающую объект Point:

Код: Выделить всё

def position():
pos = Point (measurement.X, measurement.Y)
return pos
который возвращает объект
и передает его непосредственно при вызове

Код: Выделить всё

x = ft.ThermalImage.GetValueAt(location)

and got

TypeError: No method matches given arguments for ThermalImage.GetValueAt: ()
Как правильно передать позицию в вызов .GetValueAt(position)?

Подробнее здесь: https://stackoverflow.com/questions/790 ... -in-python

Вернуться в «C#»