|
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Westbeam
Anmeldungsdatum: 22.12.2009 Beiträge: 760
|
Verfasst am: 03.06.2010, 11:42 Titel: OpenPaint(Paintklon) |
|
|
Hi
OpenPaint ist ein kleiner Paintklon. Auch wenn es so aussieht: Er ist nicht mit GTK programmiert worden, ich habe eine eigene GUI programmiert(wie einige wahrscheinlich schon wissen). Ich habe es im GNOME-Style gehalten. Folgende Funktionen sind bereits drin:
-Stift
-Pinsel
-Farbeimer
-Laden/Speichern
-Farbauswahl
-Beenden
Er ist noch nicht ganz fertig, aber das kriege ich noch hin. Hier ist ein Screenshot:
Und der Downloadlink. Der Sourecode ist enthalten, ebenso eine Linuxanwendung:
http://www.file-upload.net/download-2569748/OpenPaint.zip.html
Hier die Windows .exe(Danke an TKD):http://www.file-upload.net/download-2569793/OpenPaint.exe.html
Achtung: Wenn ihr etwas Speichern/Laden wollt, dann klickt auf die leere Textbox neben dem "Load"-Button. Dort gebt ihr den Dateinamen ein, dann könnt ihr auf Laden oder Speichern klicken. |
|
Nach oben |
|
|
MOD Fleißiger Referenzredakteur
Anmeldungsdatum: 10.09.2007 Beiträge: 1003
|
Verfasst am: 03.06.2010, 13:04 Titel: |
|
|
Also optimal ist das noch nicht, wie wärs, wenn du das so machst:
Code: | For i As Integer = 1 To 24
If buttonpressed(i) = i Then
Select Case i
Case 1
Farbe = &hFFFFFF
Case 2
Farbe = &hbbbbbb
'[...]
Case 19
w = 1
Werkzeug = "Stift"
Case 20
w=2
Werkzeug = "Pinsel"
Case 21
w = 3
Werkzeug = "Farbeimer"
Case 22
BSave file, Bild
num2 = 0
Case 23
Bload file, Bild
num2 = 0
Case 24
End
End Select
EndIf
Next
If mx > 145 and mx < 350 and my < 22 and buttons = 1 then
Color &h23102b, &hFFFFFF
Locate 2, 20
Input "", file
End If |
Man beachte auch die Leerzeichen bei Zuweisungen und Kommas, das macht den Code lesbarer.
Du könntest dir bei Select Case die ersten 18 Fälle eventuell auch sparen. Der Farbbutton hat eine bestimmte Farbe. Wenn du die Farbe einfach beim Klick auf irgendeinen der Farbbuttons an den aktuellen Mauskoordinaten per Point ausliest, wäre das gleiche erreicht und du bräuchtest nur noch ein Case 1 To 18.
Noch ein Hinweis:
Du verwendest ImageCreate, bitte verwende auch ImageDestroy. Im Fall von 24 beendest du einfach, da gehört vorher aber noch der Bildspeicher freigegeben.
Ansonsten gefällt mir das Ergebnis vom grafischen und der Funktionsweise schon gut. |
|
Nach oben |
|
|
Westbeam
Anmeldungsdatum: 22.12.2009 Beiträge: 760
|
Verfasst am: 03.06.2010, 13:12 Titel: |
|
|
Oh, tatsächlich. Ich vergesse es so gut wie immer, die Bilder wieder zu "zerstören". Danke für den Hinweis
Das mit der For-Schleife gefällt mir, ich werde es einbauen
Zitat: | Ansonsten gefällt mir das Ergebnis vom grafischen und der Funktionsweise schon gut. |
Danke, ich gebe mein Bestes(Oder jedenfalls soll es so aussehen). |
|
Nach oben |
|
|
OdinX
Anmeldungsdatum: 29.07.2005 Beiträge: 253 Wohnort: SG Schweiz
|
Verfasst am: 07.06.2010, 11:03 Titel: |
|
|
Wozu den Exit-Button? geht das Beenden mit dem X oben am Fenster nicht?
Ansonsten sieht es schon ziemlich gut aus, kompliment
Gruss OdinX |
|
Nach oben |
|
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|