Нарисуйте буквы a H F с помощью графики java 2
import java.awt.*; import java.awt.geom.*; public class SimpleLetterC extends Frame{ //Constructor public SimpleLetterC() { //Enables the closing of the window. addWindowListener(new MyFinishWindow()); } public void paint(Graphics g) { Graphics2D g2d = (Graphics2D) g; //Use of antialiasing to have nicer lines. g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON); //The lines should have a thickness of 3.0 instead of 1.0. BasicStroke bs = new BasicStroke(3.0f); g2d.setStroke(bs); //The control points for defining the letter. int xc1 = 50; int yc1 = 250; int xc2 = 250; int yc2 = 50; int xc3 = 50; int yc3 = 50; int xc4 = 250; int yc4 = 450; int xc5 = 50; int yc5 = 450; //Definition and drawing of the two curves that define the letter. QuadCurve2D.Double d1 = new QuadCurve2D.Double(xc1,yc1,xc3,yc3,xc2,yc2); g2d.draw(d1); QuadCurve2D.Double d2 = new QuadCurve2D.Double(xc1,yc1,xc5,yc5,xc4,yc4); g2d.draw(d2); //Draw the control points. drawSmallRect(xc1,yc1,g2d); drawSmallRect(xc11,yc11,g2d); drawSmallRect(xc2,yc2,g2d); drawSmallRect(xc3,yc3,g2d); drawSmallRect(xc4,yc4,g2d); drawSmallRect(xc5,yc5,g2d); //Label the control points. g2d.setFont(new Font("serif",Font.PLAIN,24)); g2d.drawString("P11'",xc1-10,yc1-5); g2d.drawString("P2'",xc2+10,yc2+10); g2d.drawString("P3'",xc3-35,yc3+4); g2d.drawString("P4'",xc4+10,yc4+10); g2d.drawString("P5'",xc5+10,yc5+10); } /** * Draws a small square around the centre (x,y). * * @param x x-coordinate of the centre * @param y y-coordinate of the centre * @param g2d Graphics2D object for drawing */ public static void drawSmallRect(int x, int y, Graphics2D g2d) { Rectangle rect = new Rectangle(x-4,y-3,8,8); g2d.fill(rect); } public static void main(String[] args) { SimpleLetterC f = new SimpleLetterC(); f.setTitle("The letter C"); f.setSize(420,500); f.setVisible(true); } }
Что я уже пробовал:
Этот код рисует форму буквы C с помощью Java 2D graphics, мне нужно нарисовать форму букв A, H, F с помощью того же кода, но я не знаю, где я могу изменить или модифицировать код.. Я изо всех сил старался понять роль контрольных точек и то, как они могут изменить форму буквы
Пожалуйста помочь
Sandeep Mewara
Я бы посоветовал вам прочитать и понять эту тему. Ясно, что вы получили этот код откуда-то и понятия не имеете, как он делает то, что делает.
начните с чего-то вроде: https://books.trinket.io/thinkjava/appendix-b.html
Richard MacCutchan
Контрольные точки определяют границы каждого графика. Поэтому вам просто нужно нарисовать существующие на бумаге, чтобы увидеть, как создавать различные наборы. Используйте графическую (квадратную) бумагу, чтобы увидеть, как они построены.