This is just a little school project with BlueJ.
The program can paint images and save them.
Copying the source code or parts of it is only allowed with explicit permission by the copyright owners.
© 2019 Karsten Römling & Jonathan Hölzer
School Project with BlueJ - Creating a Paint Program
Verlauf hinzufügen und Optionen wie UNDO und REDO hinzufügen
EDIT: hinzugefügt, funktioniert aber nur sehr unzuverlässig
Weitere Werkzeuge müssen ausgedacht werden (Möglicherweise Orientierung an bestehenden Bildbearbeitungsprogrammen)
String[] modeNames
in der Surface-Klasse das Vieleck steht (bitte beachte, dass du bei 0 zu zählen anfangen musst, das erste Objekt ist also 0, das zweite 2 etc.)switch(Manager.mode){}
-Statements so durch case [Die Stelle des Vierecks in modeNames]:
ersetzt, dass...
drawLine(altesX, altesY, x, y)
zwischen der alten Maus-Position und der aktuellen Maus-Position gezeichnet wird UND DANACH erneut die aktuelle Maus-Position gespeichert wird.Wenn du Fragen hast, hinterlasse einen Kommentar
case 8
hinzu.fuelleMitFarbeAn(double hPosition, double vPosition, java.awt.Color neueFarbe)
.
int
. Da aber ein double
verlangt wird, musst du den Wert mit (double)
konvertieren (Zum Beispiel: methodeDieEinDoubleVerlangt((double) 5);
)int
. Da aber ein double
verlangt wird, musst du den Wert mit (double)
konvertieren (Zum Beispiel: methodeDieEinDoubleVerlangt((double) 5);
)new Color(oldR, oldG, oldB)
bekommst du die aktuelle Farbe.fuelleMitFarbe
zuzugreifen. Der Stift ist unter s
zu finden.[Auf Stift zugreifen].fuelleMitFarbe([horizontale Position übergeben und in double konzertieren], [vertikale Position übergeben und in double konzertieren], [Color übergeben]);
break;
nicht vergessen!Du hast gesagt, dass du am Ende nicht möchtest, das ich so viel mehr getan habe als du. Dieses Issue ist deine Gelegenheit, auch mitzuwirken (wenn es auch nur wenig Code ist). Bitte nehme das ernst, erledige die Aufgabe zeitnah, konzentriert und sorgfältig.
Es gibt sehr viele Möglichkeiten, dir zu helfen, wenn du nicht weiterweißt, wie:
BITTE nutze diese Gelegenheiten und gebe nicht auf, wenn du erst einmal nicht findest.
Ich habe mir das Programmieren selber beigebracht. Häufig ist es sehr frustrierend, weil man nicht direkt herausfindet, wie ein Problem zu lösen ist. Wenn du aber immer wieder probierst und testest (UND NICHT GLEICH AUFGIBST, NUR WEIL DA EINE KOMISCHE FEHLERMELDUNG AUFTAUCHT), wirst du aber früher oder später zur Lösung kommen.
Auch bei diesem Projekt habe ich bereits mehrere Stunden nur an einem Problem gehockt und wollte schon fast aufgeben. Aber genau das ist der Fehler, denn: GIB NIEMALS AUF! und ARBEITE SELBSTSTÄNDIG!
Ich habe niemanden, denn ich fragen kann. Dass du mich fragen kannst, wenn du Probleme hast, ist für deine Entwicklung negativ, denn du erlernst nicht die notwendige Problemlösefähigkeit.
FRAGE MICH ALSO SO WENIG WIE MÖGLICH!
Beachte, das es lange dauert und aufwendig ist, solche Issues zu schreiben. Alleine würde ich für die Funktion maximal 10 Minuten brauchen. Ich möchte dich aber einbinden.
Ich mache das freiwillig und opfer dafür meine Freizeit (bzw. Zeit zum Lernen für Klausuren etc.).
BITTE begegne dies mit dem notwendigen Respekt. Ich fordere nicht von dir, jeden Tag am Projekt zu arbeiten. Sehr wohl fordere ich aber:
Vielen Dank, dass du bis hierhin gelesen hast.
Falls sich der Text bösartig angehört hat, so war er nicht gemeint!
...
Design des Werkzeugfensters unbedingt verbessern!
Funktion, das Bild zu speichern, hinzufügen. [DONE NOW]
@CaptainGarry #17 it's your turn
setLayout(null)
f.setLocation(x,y)
und f.setSize(w,h)
.setForegroundColor(new Color(255,0,0))
rot färben.Das hier is eine einfache Todo, die du auch komplett allein und ohne meine Hilfe machen kannst.
public void refresh()
. Dort ist wieder eine switch
, die - je nachdem, welches Werkzeug du ausgewählt hast - eine InfoBox hervorruft. Bisher ist das nur für case 5:
, also für das Vieleck vorhanden.case 5:
bereits gemacht, die Methode createInfoBox
. Diese Methode benötigt folgende Parameter:Danke für deine Mithilfe
Das neue Design, dass ich über ein BufferedImage erstellt habe, überall durchsetzen und damit #11 fortsetzen.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.