Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
  • master
1 result

Target

Select target project
  • b21228304/graphic-2020-2-0
  • l21221596/graphic-2020
  • c19014407/graphic-2020
  • b23019494/graphic-2020
  • g21212987/graphic-2020
  • couetoux.b/graphic-2020
  • s22029480/graphic-2020
  • c23025119/tp-3-graphique
  • m19023837/graphic-2020-tp-5
  • s22029480/graphic-tp-4
  • m19023837/graphic-2020-tp-7
  • n22021899/tp-3-programmation-conception
  • r24025701/graphic-2020
  • a23022716/exo-2-tp-3-algo
  • m23000189/graphic-2024
  • b21228304/graphic-2020
  • t21234458/graphic-2020
  • v23014723/graphic-2020
  • h22021483/graphic-2020
  • t21234458/graphic-2020-tiakout-khaled
  • m19023837/graphic-2020-chadi
  • b20031964/graphic-2020
22 results
Select Git revision
  • master
1 result
Show changes

Commits on Source 12

package shape;
import javafx.geometry.Point2D;
import java.util.ArrayList;
import java.util.List;
import javafx.scene.canvas.GraphicsContext;
public abstract class AbstractShape implements Shape {
protected List<Point2D> points = new ArrayList<>();
public void addPoints(Point2D... points){//Point2D... refere a plusieurs points
for(Point2D point:points) { // utilise la boucle vu que je dois ajouter tous les points
this.points.add(point); //this.points refere a la liste
}
}
public int pointsCount(){ //nombre total de points
return points.size();
}
public Point2D point(int index){
return points.get(index);
}
public abstract void draw(GraphicsContext graphicsContext);
}
......@@ -9,6 +9,7 @@ import javafx.scene.canvas.GraphicsContext;
import javafx.scene.paint.Color;
import javafx.scene.paint.Paint;
import javafx.stage.Stage;
import java.util.Arrays;
......@@ -24,9 +25,25 @@ public class App extends Application {
Canvas canvas = new Canvas(130, 110);
GraphicsContext graphicsContext = canvas.getGraphicsContext2D();
ShapeContainer shapeContainer = new ShapeContainer();
graphicsContext.setFill(Color.AQUAMARINE);
graphicsContext.fillOval(10,10,10,10);
shapeContainer.addShape(new Rectangle(Color.BLUE,new Point2D(10,10), new Point2D(40,40)));
// Créer un polygone (triangle)
Polygon triangle = new Polygon(Color.RED, Arrays.asList(
new Point2D(100, 50), // Point 1
new Point2D(150, 150), // Point 2
new Point2D(50, 150) // Point 3
));
// Ajouter le polygone au conteneur et le dessiner
shapeContainer.addShape(triangle);
shapeContainer.draw(graphicsContext);
root.getChildren().add(canvas);
primaryStage.setScene(new Scene(root));
......
package shape;
import javafx.geometry.Point2D;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.paint.Color;
import java.util.List;
public class Polygon extends AbstractShape {
private Color color;
public Polygon(Color color, List<Point2D> points ){
this.color=color;
this.points.addAll(points);
}
/*public void draw(GraphicsContext graphicsContext) {
if (points.size() >= 3) {
double[] xPoints = new double[points.size()];
double[] yPoints = new double[points.size()];
for (int i = 0; i < points.size(); i++) {
xPoints[i] = points.get(i).getX();
yPoints[i] = points.get(i).getY();
}
graphicsContext.strokePolygon(xPoints, yPoints, points.size());
}
}*/
@Override
public void draw(GraphicsContext graphicsContext) {
graphicsContext.setFill(color);
double[] xPoints = points.stream().mapToDouble(Point2D::getX).toArray();
double[] yPoints = points.stream().mapToDouble(Point2D::getY).toArray();
graphicsContext.setFill(color);
graphicsContext.fillPolygon(xPoints, yPoints, points.size());
}
}
......@@ -4,10 +4,12 @@ import javafx.geometry.Point2D;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.paint.Color;
public class Rectangle implements Shape{
public class Rectangle extends AbstractShape{
Color color;
Rectangle(Color color, Point2D point0, Point2D point1){
this.color = color;
addPoints(point0);
addPoints(point1);
}
@Override
......@@ -21,7 +23,14 @@ public class Rectangle implements Shape{
}
@Override
public void draw(GraphicsContext context) {
public void draw(GraphicsContext graphiccontext) {
graphiccontext.setFill(color);
Point2D p0 = points.get(0);
Point2D p1 = points.get(1);
graphiccontext.setFill(color);
graphiccontext.fillRect(p0.getX(), p0.getY(), p1.getX() - p0.getX(), p1.getY() - p0.getY());
}
}
......@@ -9,7 +9,9 @@ public class ShapeContainer{
private List<Shape> shapes = new ArrayList<>();
public void addShape(Shape shape){}
public void addShape(Shape shape){
shapes.add(shape);
}
public void draw(GraphicsContext context){
for(Shape shape : shapes)
......