Codelab Hilfe Teil 2 - Einfaches Beispiel

Dieses Tutorial wurde als Antwort auf die folgende PM geschrieben, die ich erhalten habe:

Von: FireFly Ich weiß genug (sagt "pyro", der einige meiner Codes überprüft hat) C#, um einige einfache Plugins mit Codelab zu erstellen, aber ich habe absolut keine Ahnung, wo ich anfangen soll. Ich habe versucht, einen "Punkt in der Mitte" (aus enormators Effekte) zu machen, weil es klang die einfachste. Könnten Sie einen einfacheren Vorschlag für den Anfang machen? Wenn Sie mir sonst noch helfen könnten, wäre ich Ihnen ebenfalls dankbar.

Danke, FireFly. Hier ist meine Antwort: Sie wollen also lernen, wie Sie Ihr eigenes Paint.NET-Plugin schreiben? Prima. Ich werde Ihnen zeigen, wie es geht.

Um dieser Reihe von Tutorials folgen zu können, müssen Sie das CodeLab-Plugin installieren und Sie benötigen zumindest ein Grundverständnis der Programmiersprache C#.NET. Wenn Sie Erfahrung mit C, C++ oder Pascal haben, werden Sie wahrscheinlich gut zurechtkommen. Wenn nicht, müssen Sie sich zuerst mit C# vertraut machen. Nur zu, ich warte...

Können wir anfangen? OK, los geht's...

HINWEIS: Bevor wir beginnen, sollten Sie unbedingt die Übersichtsseite lesen, die den grundlegenden Zweck von Effekt-Plugins erklärt und wie Paint.NET mit Plugins arbeitet.

Wenn man ein Effekt-Plugin erstellen will, braucht man zunächst eine Vorstellung davon, was es tun soll. In der Regel hat man ein Problem oder eine Reihe von Schritten, die Sie immer wiederholen müssen. Dies sind gute Kandidaten für Probleme, die Sie mit einem Effekt-Plugin lösen können.

In diesem ersten Tutorial werden wir einen Effekt erstellen, der einen einzelnen schwarzen Punkt in der Mitte der aktuellen Auswahl platziert. Dies ist nützlich, wenn Sie beim Zeichnen von Linien oder anderen Formen die genaue Mitte der Auswahl kennen müssen und diese zentriert sein soll. Ich habe mich für diesen Effekt entschieden, weil er keine Steuerelemente der Benutzeroberfläche (UI) erfordert. Wir werden uns in Lektion 2 mit UI-Steuerungen befassen.

Hier Beispielbild

Erinnern Sie sich, in der Übersicht, wenn Sie ein Effekt-Plugin mit CodeLab erstellen, müssen Sie nur die Render()-Funktion schreiben, und ich habe Ihnen gesagt, dass wir sogar eine Vorlage haben, um Ihnen den Einstieg zu erleichtern. Öffnen wir Paint.NET und führen CodeLab aus, um die Vorlage zu sehen.

Um unser "Dot at Center"-Plugin zu erstellen, beginnen wir mit dem Standardskript von CodeLab:

Hier Beispielcode

Wenn Sie sich das Standardscript ansehen, werden Sie feststellen, dass das Script innerhalb der verschachtelten x,y-Schleifen ein Pixel von der src-Oberfläche liest und es in der Variablen currentPixel speichert. Dann schreibt es dieses Pixel in die dst-Oberfläche. Das Skript kopiert alle Pixel direkt von der Quellfläche (src) auf die Zielfläche (dst), ohne die Pixel zu verändern. Im Grunde genommen tut es gar nichts.

Beginnen wir mit diesem Script und nehmen wir die notwendigen Änderungen vor, um unseren Effekt "Punkt in der Mitte" zu implementieren.

Am Anfang des Scripts sehen Sie die folgenden Zeilen:

Hier Beispielcode

Wie bereits erwähnt, benötigen wir für diesen Effekt keine Benutzeroberfläche, also löschen Sie alle diese Zeilen.

Mit Blick auf unsere Render()-Funktion, werden wir nicht die primäre, sekundäre Farbe oder die Pinselbreite benötigen, so gehen Sie vor und löschen Sie diese Zeilen:

Hier Beispielcode

Wir brauchen den Mittelpunkt unserer Auswahl, also behalten Sie diese Zeilen bei:

Hier Beispielcode

Schließlich ändern wir die innere Schleife so, dass sie alle Pixel von der Ausgangsleinwand auf die Zielleinwand kopiert, es sei denn, wir arbeiten am mittleren Pixel. In diesem Fall wird dieses Pixel durch ein schwarzes Pixel ersetzt.

Da der Effekt in einer Schleife alle Pixel auf der Zielleinwand durchläuft, wissen wir, dass wir am mittleren Pixel arbeiten, wenn die Variable y gleich "centerY" und die Variable x gleich "centerX" ist. In C# sieht diese Bedingung wie folgt aus:

Hier Beispielcode

Wir ersetzen die "// comments" in unserem Standardskript durch diesen Bedingungscode, so dass es jetzt wie folgt aussieht:

Hier Beispielcode

Wenn diese Bedingung erfüllt ist und wir mit dem mittleren Pixel arbeiten, müssen wir es durch ein schwarzes Pixel ersetzen. Wir können das auf diese Weise tun:

Hier Beispielcode

Ihr endgültiges Script sollte also wie folgt aussehen:

Hier Beispielcode

Das war's!

Das Einzige, was wir selbst schreiben mussten, um den "Dot at Center"-Algorithmus zu implementieren, war dieser Teil:

Hier Beispielcode

Alles andere wurde von CodeLab geschrieben.

Wenn Sie nun Ihren ersten Effekt erstellt haben und ihn zu einem festen Bestandteil von Paint.NET machen möchten, folgen Sie einfach den Schritten auf der Seite Erstellen einer DLL-Datei.

Alle Seiten mit Tag Codelab