공용 언어 런타임을 사용하는 IronPython을 사용하여 축소판 이미지를 만들려고합니다.CLR을 사용하여 IronPython에서 축소판 이미지 만들기. 대리자 문제 전달
Visual Basic 배경에서 IronPython 내에서 CLR에 위임 된 함수를 전달하는 개념에 어려움을 겪고 있습니다.
import os
import clr
# contains Image definition
clr.AddReference('System.Drawing')
from System.Drawing import Image
# contains Action and Func for delegation
clr.AddReference('System.Core')
from System import Func
# open image filename
objImageA = Image.FromFile('a.jpg')
# delegated function
def ImageAbortDelegate():
return False
objThumbImageAbort = Func[objImageA.GetThumbnailAbort](ImageAbortDelegate)
# for this example reduce image by 10 percent
intHeight = objImageA.Height/10
intWidth = objImageA.Width/10
# why is this failing?
objThumbImageA = objImageA.GetThumbnailImage(intHeight, intWidth, objThumbAbort, 0)
# gives error message TypeError: expected GetThumbnailImageAbort, got Func[GetThumbnailImageAbort]
'GetThumbnailImageAbort'는 델리게이트를 생성하기 때문에'Func'에 랩핑 할 필요가 없습니다. – David