Rumah > Java > javaTutorial > teks badan

Kongsi kaedah dan contoh lukisan hati dalam kod Java

王林
Lepaskan: 2024-02-20 12:24:06
asal
846 orang telah melayarinya

Kongsi kaedah dan contoh lukisan hati dalam kod Java

Berkongsi kemahiran dan contoh lukisan cinta dalam kod Java

Cinta, sebagai grafik istimewa, sering digunakan untuk menyatakan cinta dan emosi yang hangat. Dalam pengaturcaraan Java, kita boleh menggunakan beberapa teknik mudah untuk melukis corak cinta yang cantik. Artikel ini akan berkongsi beberapa petua dan contoh lukisan cinta, dengan harapan dapat membantu pengaturcara Java.

Pertama sekali, kita perlu memahami bentuk asas dan prinsip cinta. Jantung biasanya terdiri daripada dua lengkok yang bertindih dengan titik permulaan dan penamat yang sama. Kita boleh mencapai kesan jantung dengan melukis dua lengkok dengan saiz yang sama dan melaraskan kedudukan, sudut putaran dan saiznya.

Seterusnya, mari lihat beberapa contoh kod khusus.

Contoh 1: Lukis hati yang ringkas

import java.awt.Color;
import java.awt.Graphics;
import import java.awt.Graphics2D;
import import java.awt.RenderingHints;

import javax.swing.JFrame;
import javax.swing.JPanel;

public class HeartDrawingExample extends JPanel {
  
  @Override
  protected void paintComponent(Graphics g) {
    super.paintComponent(g);

    Graphics2D g2d = (Graphics2D) g;
    g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);

    int width = getWidth();
    int height = getHeight();

    g2d.setColor(Color.RED);
    g2d.fillArc(width/2 - width/4, height/2 - height/4, width/2, height/2, 0, 180);
    g2d.fillArc(width/2 - width/4, height/2 - height/4, width/2, height/2, 180, 180);
    g2d.fillRect(width/2 - width/8, height/2, width/4, height/2);
  }

  public static void main(String[] args) {
    JFrame frame = new JFrame("Heart Drawing Example");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.add(new HeartDrawingExample());
    frame.setSize(400, 400);
    frame.setLocationRelativeTo(null);
    frame.setVisible(true);
  }
}
Salin selepas log masuk

Kod di atas menunjukkan cara menggunakan perpustakaan Java's Swing untuk mencipta contoh lukisan hati yang ringkas. Mula-mula, kami membuat subkelas JPanel HeartDrawingExample dan mengatasi kaedah paintComponent untuk melukis hati. Dalam kaedah lukisan, kami menggunakan objek Graphics2D untuk melukis grafik dan menetapkan parameter pemaparan anti-aliasing untuk mencapai kesan lukisan yang lebih baik. Kemudian, kami menetapkan warna kepada merah dan menggunakan kaedah fillArc untuk melukis dua lengkok dan segi empat tepat, akhirnya membentuk kesan jantung. Akhirnya, kami mencipta objek JFrame, menambahkan HeartDrawingExample padanya, dan menetapkan saiz dan kedudukan tetingkap, akhirnya memaparkan corak jantung yang kami lukis.

Contoh 2: Lukis degupan jantung dinamik

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import import java.awt.Graphics2D;
import import java.awt.RenderingHints;
import import java.awt.event.ActionEvent;
import import java.awt.event.ActionListener;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.Timer;

public class DynamicHeartbeatHeartExample extends JPanel implements ActionListener {
  
  private int width = 200;
  private int height = 200;
  private int scale = 10;
  private int angle = 0;

  public DynamicHeartbeatHeartExample() {
    Timer timer = new Timer(100, this);
    timer.start();
  }
  
  @Override
  protected void paintComponent(Graphics g) {
    super.paintComponent(g);

    Graphics2D g2d = (Graphics2D) g;
    g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);

    int size = scale * (width/2);

    g2d.setColor(Color.RED);
    g2d.fillArc(getWidth()/2 - size/2, getHeight()/2 - size/2, size, size, angle, 180 - angle);
    g2d.fillArc(getWidth()/2 - size/2, getHeight()/2 - size/2, size, size, 180 + angle, 180 - angle);
    g2d.fillRect(getWidth()/2 - size/4, getHeight()/2, size/2, size);
  }

  @Override
  public Dimension getPreferredSize() {
    return new Dimension(width*scale, height*scale);
  }

  @Override
  public void actionPerformed(ActionEvent e) {
    if (scale > 2) {
      scale--;
    } else {
      scale = 10;
    }
    angle = (angle + 10) % 360;
    repaint();
  }

  public static void main(String[] args) {
    JFrame frame = new JFrame("Dynamic Heartbeat Heart Example");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.add(new DynamicHeartbeatHeartExample());
    frame.pack();
    frame.setLocationRelativeTo(null);
    frame.setVisible(true);
  }
}
Salin selepas log masuk

Kod di atas menunjukkan cara mencipta contoh lukisan jantung degupan jantung dinamik. Kami menggunakan Pemasa untuk mengemas kini saiz dan sudut jantung secara kerap, menghasilkan kesan degupan dinamik. Dalam kaedah lukisan, kami melukis jantung mengikut saiz dan sudut semasa, membentuk irama degupan jantung yang berdegup. Akhir sekali, kami menentukan kaedah utama untuk mencipta dan memaparkan tetingkap jantung dinamik ini.

Melalui dua contoh di atas, kita dapat melihat bahawa menggunakan bahasa pengaturcaraan Java boleh melukis corak cinta yang indah secara fleksibel. Dengan melaraskan parameter dan kaedah dalam kod, anda juga boleh mencapai lebih banyak gaya kesan cinta. Saya harap contoh ini dapat memberikan sedikit bantuan dan idea untuk pengaturcara Java semasa melukis corak cinta. Semoga kemesraan dan emosi cinta dapat disampaikan dan dizahirkan dalam dunia pengaturcaraan.

Atas ialah kandungan terperinci Kongsi kaedah dan contoh lukisan hati dalam kod Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan