Frage

Ich versuche, eine benutzerdefinierte Funktion Klasse ImageMagickNet hinzuzufügen. Es sollte die IsSimilarImage magick Methode aus dem ImageMagick.NET Projekt verwenden, aber ich verwirrt bin, ob ich zu routen habe diese Methode durch das Magick ++, wie jede Funktionalität zur Verfügung, die .NET-Seite entsteht in der Magick ++.

Keine korrekte Lösung

Andere Tipps

Das ist ziemlich alt, aber so ist es offen, geht hier.

Bitte beachten Sie, dass ich nicht an den ImageMagick Bibliotheken ausgesehen habe, so dass alle Details der Implementierung in dem folgenden Code genau ein Beispiel. Ersetzen durch korrekte Umsetzung Müll. Unter der Annahme, es gültige .NET-Objekte exportiert, ist dies, wie es funktionieren würde:

' Put your extension methods or properties in a clearly labeled module file, on its own within your project
Module ImageMagickNetExtensions

    ' Define an extension method by using the ExtensionAttribute, and make the first argument
    ' for the method the type that you wish to extend. This will serve as a reference to the extended
    ' instance, so that you can reference other methods and properties within your extension code.
    <Extension()> _
    Public Function SomeExtensionFunction(ByVal imn As ImageMagickNet, ByVal filename As String) As Boolean
        Return imn.IsSimilarImage(filename)
    End Function

End Module

Class SomeClass
    ' To use your extension method within your project containing the extension module, simply
    ' call it on any valid instance of the type you have extended. The compiler will call your code
    ' whenever it sees reference to it, passing a reference to your extended instance.
    Private imn As New ImageMagickNet

    Private Sub DoSomething()
        If imn.SomeExtensionFunction("c:\someimage.jpg") Then
            ...
        End If
    End Sub
End Class
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top