Sie sind nicht angemeldet.

1

Freitag, 30. Juli 2010, 17:10

PDN Plugin Tutorial

Hier mein allseits beliebtes Tutorial zum Programmieren von PDN Plugins in VB.NET

In diesem Tutorial erkläre ich euch wie man PDN Plugins mit VB 2008 programmieren kann.
In diesem ersten Tutorial erkläre ich euch wie man "Hallo Welt!" in die mitte von einem Bild zeichnen kann!

Als erstes Öffnet ihr Visual Basic und erstellt ein
neues Klassenbibliothek Projekt.
Als nächstes müssen wir die Klassenbibliotheken von PDN
importieren, dazu klickt ihr im Menü auf:
Projekt -> Alle Dateien Anzeigen
und auf
Projekt -> Verweis hinzufügen.

Danach wechselt ihr zu der Durchsuchen Registerkarte und wechselt in euren PDN ordner:


Als nächstes haltet ihr strg gedrückt und wählt folgende Dateien aus und klickt auf OK:


Nun müssen wir noch die System.Drawing Klasse importieren, klickt dazu wieder auf
Projekt -> Verweis hinzufügen. und wählt diese Datei aus und klickt auf OK:


Als nächstes solltet ihr in eurem Projektmappen-Explorer folgende Dateien haben:



Jetzt können wir endlich mit dem code schreiben beginnen^^
Öffnet die datei Class1.vb(falls sie noch nicht geöffnet ist).

Nun müssen wir die verweisten DLLs in unserer Klasse importieren,
Dazu schreibt ihr folgenden Code ganz oben hin(in eine zeile vor Public Class {PROJEKTNAME}):

Quellcode

1
2
3
Imports PaintDotNet
Imports PaintDotNet.Effects
Imports System.Drawing


Damit wir den Effect später auch Rendern können, müssen wir die Effect Klasse Erben.
Schreibt folgenden Code direkt unter Public Class {PROJEKTNAME}:

Quellcode

1
Inherits Effect


Jetzt müssen wir das Plugin "erstellen" damit wir es auch später verwenden können,
schreibt dazu folgenden Code unter Inherits Effect:

Quellcode

1
2
3
4
5
Dim MyStr As String = "Hallo Welt!" 'Das ist der Text der auf das Bild geschrieben wird!

Public Sub New()
	MyBase.New("{PLUGINNAME}", Image.FromFile("{PFAD ZU DEM ICON}"), "{UNTERMENÜ}")
End Sub

ersetzt {PLUGINNAME} durch den namen des Plugins, in diesem Fall Hallo Welt,
ersetzt {PFAD ZU DEM ICON} durch den Vollständigen Pfad des Icons von eurem Plugin, das Icon muss 16x16 pxl. groß sein!!!
ersetzt {UNTERMENÜ} durch den Namen des Untermenüs, z.B. Meine Plugins

unten wird jetzt ein Fehler in der Liste stehen, das muss uns aber nicht interessieren :D

als nächstes wollen wir die Sub Class zum Rendern schreiben, fügt dafür folgenden Code ein:

Quellcode

1
2
3
Public Overloads Overrides Sub Render(ByVal parameters As PaintDotNet.Effects.EffectConfigToken, ByVal dstArgs As PaintDotNet.RenderArgs, ByVal srcArgs As PaintDotNet.RenderArgs, ByVal rois() As System.Drawing.Rectangle, ByVal startIndex As Integer, ByVal length As Integer)

End Sub


In diese Klasse Schreiben wir jetzt folgenden Code:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Try
Dim F As New Font("Arial", 12) ' Die Schriftart + Größe
Using g As Graphics = dstArgs.Graphics
'Berechne die Mitte der X Achse
Dim X_Pos As Integer = (srcArgs.Bitmap.Width / 2) - (g.MeasureString(MyStr, F).Width / 2)

'Berechne die Mitte der Y Achse
Dim Y_Pos As Integer = (srcArgs.Bitmap.Height / 2) - (F.Height / 2)

'Schreibe des String auf das Bild
g.DrawString(MyStr, F, Brushes.Black, X_Pos, Y_Pos)
End Using
Catch ex As Exception
'Ignoriere die Fehler!
End Try


so, das wars, der Code ist Fertig.
Hier nocheinmal der ganze Code:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Imports PaintDotNet
Imports PaintDotNet.Effects
Imports System.Drawing

Public Class Hallo_Welt
	Inherits Effect
	Dim MyStr As String = "Hallo Welt!"

	Public Sub New()
MyBase.New("Transparancy Cutter", Image.FromFile("C:\Dokumente und Einstellungen\Freakstar\Desktop\mediafiles\Icons\Coinbox.png"), "Meine Plugins")
	End Sub

	Public Overrides Sub Render(ByVal parameters As PaintDotNet.Effects.EffectConfigToken, ByVal dstArgs As PaintDotNet.RenderArgs, ByVal srcArgs As PaintDotNet.RenderArgs, ByVal rois() As System.Drawing.Rectangle, ByVal startIndex As Integer, ByVal length As Integer)
Try
Dim F As New Font("Arial", 12) ' Die Schriftart + Größe
Using g As Graphics = dstArgs.Graphics
'Berechne die Mitte der X Achse
Dim X_Pos As Integer = (srcArgs.Bitmap.Width / 2) - (g.MeasureString(MyStr, F).Width / 2)

'Berechne die Mitte der Y Achse
Dim Y_Pos As Integer = (srcArgs.Bitmap.Height / 2) - (F.Height / 2)

'Schreibe des String auf das Bild
g.DrawString(MyStr, F, Brushes.Black, X_Pos, Y_Pos)
End Using
Catch ex As Exception
'Ignoriere die Fehler!
End Try
	End Sub
End Class


Jetzt wollen wir das Ganze auch mal Testen :D
Klickt im Menü auf Erstellen -> {PROJEKTNAME} erstellen
Das Plugin findet ihr dann hier:

Quellcode

1
C:\Dokumente und Einstellungen\{BENUTZERNAME}\Eigene Dateien\Visual Studio 2008\Projects\M{PROJEKTNAME}\{PROJEKTNAME}\bin\Release

Dort sind mehrere DLL's vorhanden, eure ist die, die {PROJEKTNAME}.dll heißt.

Kopiert diese Datei jetzt hierhin:

Quellcode

1
PDN Ordner/effects


jetzt startet ihr PDN und klckt im Menü auf:

Quellcode

1
Effekte/{UNTERORDNER}/{PLUGINNAME}

und schon wird der angegebene String auf das Bild gerendert ;)


Ich hoffe ich hab alles verständlich erklärt und konnte euch Helfen^^
Dieses Tutorial ist Copyright©, 2010 by DEVTRONiC und darf ohne erlaubnis NICHT kopiert werden, verlinken ist erlaubt!
KRITIK ERWÜNSCHT!



lg.

stabmann

Designer

Beiträge: 46

Wohnort: Berlin

Beruf: Rentner

  • Nachricht senden

2

Samstag, 31. Juli 2010, 14:31

Echt gut, aber

geht es nicht eventuell davor noch etwas zu erklären, bevor man so etwas überhaupt machen kann? Für mich der von Basic keine Ahnung hat, von dem Programm VB 2008 vorläufig auch nicht, ist es nicht einfach zu verstehen. Du willst doch sicher Deine Tuts fortsetzen und auch dass man sie nacharbeitet. Mich würde das sehr interessieren, aber wie bekomme ich auf kurzem Weg den Einstieg?
Kannst Du nicht bitte ein einfaches Tut zum Programm schreiben, das auch ein Rentner- Dummi ?( versteht?

"Als erstes Öffnet ihr Visual Basic und erstellt ein

neues Klassenbibliothek Projekt.

Als nächstes müssen wir die Klassenbibliotheken von PDN

importieren, dazu klickt ihr im Menü auf:

Projekt -> Alle Dateien Anzeigen

und auf

Projekt -> Verweis hinzufügen."

Programm ist installiert und registriert. öffnen geht ja auch noch, aber wenn ich neues Projekt - Klassenbibliothek anklicke und OK, dann kommt schon Fehlermeldung. Das Bibliotheksfenster, wie nachfolgend in Deinem Tut, kommt bei mir gar nicht. Du siehst, ich brauchte Anleitung. Bitte um Hilfe.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »stabmann« (31. Juli 2010, 15:41)


3

Sonntag, 1. August 2010, 14:01

@DEVTRONiC
gutes tutorial!


@stabmann
welcher error kommt denn und welche visual basic version verwendest du?

lg Gugi

stabmann

Designer

Beiträge: 46

Wohnort: Berlin

Beruf: Rentner

  • Nachricht senden

4

Sonntag, 1. August 2010, 15:53

Hier die Antwort.

Ich habe mir Visual Basic 2008 bei MS geholt. Das wird ja im Tut auch verwendet. Klicke ich auf Klassenbibliothek kommt:


5

Sonntag, 1. August 2010, 22:17

Ich habe mir Visual Basic 2008 bei MS geholt. Das wird ja im Tut auch verwendet. Klicke ich auf Klassenbibliothek kommt:


hast du alles so gemacht wie in dem Bild(siehe anhang)?
(irgendwie ist der pfeil auf den OK button geil geworden xDD)
lg Gugi
»Gugi« hat folgendes Bild angehängt:
  • Paint.Net Plugin.gif

stabmann

Designer

Beiträge: 46

Wohnort: Berlin

Beruf: Rentner

  • Nachricht senden

6

Dienstag, 3. August 2010, 10:48

Danke, aber ...

Dein Versuch, mir zu helfen, hat leider auch nicht funktioniert.
Obwohl ich genauso schwungvoll mit der Maus zum OK gegangen bin, wie Dein Pfeil. ;)
Ich bekommen weiterhin die gleiche Fehlermeldung. Schade.

7

Dienstag, 3. August 2010, 20:47

sind fehler bei der installation aufgetreten?
probier mal ob du windows forms anwendungen/konsolen erstellen kannst.

lg Gugi

stabmann

Designer

Beiträge: 46

Wohnort: Berlin

Beruf: Rentner

  • Nachricht senden

8

Donnerstag, 5. August 2010, 14:37

Bei der Installation ging alles glatt.

Was Du mir da vorschlägst, sind Sachen, die ich nicht kenne. Danke für Deinen Hilfeversuch. Ich schmeiße das Programm vorerst runter. Sicher zu viel für einen Nichtfachmann.

9

Donnerstag, 5. August 2010, 14:59

fachmann bin ich doch auch nicht ;) und ich denke mal, das ich auch (um einiges) jünger bin, bin erst 13 ;) .
eine windows-forms-anwendung ist das auf dem bild nur du musst auf windows forms anwendung klicken: Klick

lg Gugi

stabmann

Designer

Beiträge: 46

Wohnort: Berlin

Beruf: Rentner

  • Nachricht senden

10

Freitag, 6. August 2010, 14:53

Ich habe gleich mal...

alle Anwendungen durch geklickt, die angezeigt werden. Bei allen kommt die gleiche Fehlermeldung.

Macht nichts, dass Du viel, viel jünger bist. Hast wenigstens den Vorteil, schon mit dem PC aufzuwachsen. Bei mir kam er erst mit der Rente ins Haus. Aber vergiß nur nicht, es gibt auch ein reales Leben. PC ist zwar wichtig und macht Spaß, aber das Leben bietet weit mehr. Sagt mir meine Erfahrung.
Denke mal bitte nach, vielleicht kannst Du mir doch noch helfen, wenn Du das Problem durchleuchtest.

Ähnliche Themen

Thema bewerten