Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

OpenPaint(Paintklon)

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Projektvorstellungen
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Westbeam



Anmeldungsdatum: 22.12.2009
Beiträge: 760

BeitragVerfasst am: 03.06.2010, 11:42    Titel: OpenPaint(Paintklon) Antworten mit Zitat

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 happy

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. zwinkern
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MOD
Fleißiger Referenzredakteur


Anmeldungsdatum: 10.09.2007
Beiträge: 1003

BeitragVerfasst am: 03.06.2010, 13:04    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Westbeam



Anmeldungsdatum: 22.12.2009
Beiträge: 760

BeitragVerfasst am: 03.06.2010, 13:12    Titel: Antworten mit Zitat

Oh, tatsächlich. Ich vergesse es so gut wie immer, die Bilder wieder zu "zerstören". Danke für den Hinweis lächeln

Das mit der For-Schleife gefällt mir, ich werde es einbauen happy

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). cool
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
OdinX



Anmeldungsdatum: 29.07.2005
Beiträge: 253
Wohnort: SG Schweiz

BeitragVerfasst am: 07.06.2010, 11:03    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Projektvorstellungen Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
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.

 Impressum :: Datenschutz