java爱心

来源:互联网 发布:伊斯兰土耳其知乎 编辑:程序博客网 时间:2024/04/28 16:21

节日里的爱心图是不是又盗了几张呢?

混在程序猿的圈子里,不说点猿语怎么行呢?


不如自己来做一张,这样才显得高逼格嘛!


话不多说,说干就干!生气


咱们先来张效果图~


哇喔惊讶~~粉紫色的呢~~好有立体感呢


那么这代码咋写呢?疑问



代码如下:

package Demo;import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.Image;import java.awt.Toolkit;import javax.swing.JFrame;@SuppressWarnings("serial")class Cardioid extends JFrame{//定义窗口大小private static final int WIDTH=480;private static final int HEIGHT=600;//获取屏幕大小private static final int WINDOW_WIDTH=Toolkit.getDefaultToolkit().getScreenSize().width;private static final int WINDOW_HEIGHT=Toolkit.getDefaultToolkit().getScreenSize().height;//构造函数public Cardioid(){//设置窗口标题super("爱心");//设置背景色this.setBackground(Color.BLACK);//设置窗口位置this.setLocation((WINDOW_WIDTH-WIDTH)/2, (WINDOW_HEIGHT-HEIGHT)/2);//设置窗口大小this.setSize(WIDTH, HEIGHT);//设置窗口布局this.setLayout(getLayout());//设置窗口可见this.setVisible(true);//设置窗口的默认关闭方式this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}//图形函数public void paint(Graphics g){//横纵坐标及半径double x,y,r;Image image=this.createImage(WIDTH, HEIGHT);Graphics pic=image.getGraphics();//绘制图形for(int i=0;i<100;i++){for(int j=0;j<100;j++){r = Math.PI/45 + Math.PI/45 * i * (1 - Math.sin(Math.PI/45 * j)) * 18;x = r * Math.cos(Math.PI/45 * j) * Math.sin(Math.PI/45 * i) + WIDTH/2;y = -r * Math.sin(Math.PI/45 * j) + HEIGHT/2;pic.setColor(Color.MAGENTA);pic.setFont(new Font("楷体", Font.BOLD, 40));//设置字体pic.drawString("我爱你", 180, 200);//绘制字符串pic.drawString("一万年", 220, 240);//绘制字符串pic.setColor(Color.MAGENTA);pic.fillOval((int)x, (int)y, 2, 2);}//生成图片g.drawImage(image, 0, 0, this);}}}public class CardioidDemo {public static void main(String[] args) {new Cardioid();}}
不喜勿喷!快来试试吧!

0 0