用java实现 图片组成心形图案

来源:互联网

作者:佚名

时间:2014-03-15 17:52

灵感:java2核心技术卷1(共两卷)最近在看java2核心技术里面提到显示图片,于是就做了个心形图片组合图案。。。你懂得importjava.awt.*;importjava.awt.geom.*;

灵感:java2核心技术卷1(共两卷)

最近在看java2核心技术里面提到显示图片,于是就做了个心形图片组合图案。。。你懂得import java.awt.*;

import java.awt.geom.*;

import java.awt.geom.Point2D.Double;

import java.io.File;

import java.io.IOException;

import java.util.ArrayList;

import javax.imageio.ImageIO;

import javax.swing.*;

public class DrawTest

{

public static void main(String[] args)

{

DrawFrame frame = new DrawFrame();

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.setVisible(true);

}

}

/**

A frame that contains a panel with drawings

*/

class DrawFrame extends JFrame

{

public DrawFrame()

{

setTitle("DrawTest");

setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);

// add panel to frame

DrawPanel panel = new DrawPanel();

add(panel);

}

public static final int DEFAULT_WIDTH = 1000;

public static final int DEFAULT_HEIGHT =1000;

}

/**

A panel that displays rectangles and ellipses.

*/

class DrawPanel extends JPanel

{

private ArrayList image;

DrawPanel(){

try

{

image = new ArrayList();

String[] s =

{ "图片1地址",

"图片2地址",

"图片3地址"

};

System.out.println(s[0]);

System.out.println(s[1]);

System.out.println(s[2]);

image.add(ImageIO.read(new File(s[0])));

image.add(ImageIO.read(new File(s[1])));

image.add(ImageIO.read(new File(s[2])));

}

catch (IOException e)

{

e.printStackTrace();

}

}

public void paintComponent(Graphics g)

{

super.paintComponent(g);

Graphics2D g2 = (Graphics2D) g;

//love

//

//

double theta=0.00 ;

//

double offset = 0.0001;

//

double x;

//

double y;

//

Point2D prePoint = new Point2D.Double(0,0);

//

Point2D point = new Point2D.Double( 0, 0);

//

x= 500-20*(16*Math.pow(Math.sin(theta),3));

// y= 500-20*(

// 13*Math.cos(theta)-5*Math.cos(2*theta)-2*Math.cos(3*theta)-Math.cos(4*theta) );

// prePoint.setLocation(x, y);

//

//

for( ;theta< 2*Math.PI;theta+= offset ){

//

x= 500-20*(16*Math.pow(Math.sin(theta),3));

//

y= 500-20*(

//

13*Math.cos(theta)-5*Math.cos(2*theta)-2*Math.cos(3*theta)-Math.cos(4*theta) );

//

point.setLocation(x, y);

//

Line2D line = new Line2D.Double(point, prePoint);

//

g2.draw( line );

//

prePoint.setLocation(point);

//

}//end love

// love filled with image

if (image.isEmpty()) return ;

int imageHeight = image.get(0).getHeight(this);

int imageWidth = image.get(0).getWidth(this);

System.out.println( imageHeight+" "+imageWidth);

double theta=0.00 ;

double offset = 0.06;

double x;

double y;

int nth=0;

Point2D prePoint = new Point2D.Double(0,0);

Point2D point = new Point2D.Double( 0, 0);

x= 450-25*(16*Math.pow(Math.sin(theta),3));

y= 400-25*(

13*Math.cos(theta)-5*Math.cos(2*theta)-2*Math.cos(3*theta)-Math.cos(4*theta) );

prePoint.setLocation(x, y);

g.drawImage(image.get(nth++), (int)x, (int)y, null);

for( ;theta< 2*Math.PI;theta+= offset ){

x= 450-25*(16*Math.pow(Math.sin(theta),3));

y= 400-25*(

13*Math.cos(theta)-5*Math.cos(2*theta)-2*Math.cos(3*theta)-Math.cos(4*theta) );

point.setLocation(x, y);

Line2D line = new Line2D.Double(point, prePoint);

// g2.draw( line );

if(nth == 3) nth %=3;

g2.drawImage(image.get(nth++),(int)x,(int)y,null);

prePoint.setLocation(point);

}//end love filled with imag

}

}

因涉及个人隐私故把图片匿了,,运行不了请及时评论。

谢谢!

本文出自 “8691404” 博客,请务必保留此出处

java图案_用java实现 图片组成心形图案相关推荐

  1. 用java画爱心图_用java实现 图片组成心形图案

    灵感:java2核心技术卷1(共两卷) 最近在看java2核心技术里面提到显示图片,于是就做了个心形图片组合图案...你懂得 import java.awt.*; import java.awt.ge ...

  2. php编程输出心形图案_利用php输出不同的心形图案_PHP

    首先为大家分享php输出心形曲线的代码,代码如下 输出字符串 header('Content-type:image/gif');//通知浏览器输出的是gif图片 imagegif($im);//输出图 ...

  3. php编程输出心形图案_利用php输出不同的心形图案,php心形图案_PHP教程

    利用php输出不同的心形图案,php心形图案 首先为大家分享php输出心形曲线的代码,代码如下 效果如下: 利用php输出笛卡尔心形图案,代码如下 复制代码 代码如下:$width = 600; $h ...

  4. C++用字符串组成心形图案的尝试

    在网上看到好多有奇特图案的函数,比如这个公式,能绘出这样的心形图案. 为了用字符把心形区域填满,只需要设置for循环用x和y表示出一个方形画布区域,如果左边表达式的值不大于右边表达式1,则说明坐标位于 ...

  5. 易语言 java支持_开源Java客户端可以连接易语言服务器

    我们的服务端处理客户端的连接请求是同步进行的, 每次接收到来自客户端的连接请求后, 都要先跟当前的客户端通信完之后才能再处理下一个连接请求. 这在并发比较多的情况下会严重影响程序的性能, 为此,我们可 ...

  6. 尚学堂java培训_送给 Java 自学者或者初学者的最全知识清单,2020 年 Java 就该这么学...

    最近逛知乎,发现有很多想自学 Java 或者 Java 初学者提问,不知道如何学习 Java?我接触 Java 快 8 年的时间了,一直从事 Java 开发工作,自己一直升级打怪,对于如何更好的学习 ...

  7. java海报_使用java画一张海报

    PS: 没找到合适的海报背景,就随便找了一张,使用技术都是相同的 1. 添加依赖 这俩其实跟本章节的核心技术没有关系,是为了获取QQ昵称和QQ头像而引入的. org.jsoup jsoup 1.11. ...

  8. java 抓图_用JAVA实现屏幕抓图的简单实例

    /* 主要使用的是java.util.Robot类来捕获屏幕, * 可以实现对屏幕一个矩形区域的捕获,通过这个类, * 我们也可以实现一个远程桌面控制的程序 */ package com.qiu.ut ...

  9. java头像_用java实现给你的头像) +n

    首先, 其实应该把标题改为--给任意图片右上角套上红色消息数目框; 代码如下: //主程序: package cn.sourcecodes.main; import cn.sourcecodes.ut ...

最新文章

  1. android4.0支持m3u8格式,【报Bug】安卓下无法播放M3U8格式音频,报错
  2. java粒子群优化算法_粒子群优化算法的JAVA实现
  3. 网页设计html流水效果图,15例简单常用网页设计效果代码
  4. Android学习之动画(二)
  5. Linux安装Redis
  6. 强强联手|任子行公司董事长景晓军一行到访云畅科技交流
  7. 海思MPP模块视频缓冲池
  8. js 获取当前与一个月前的日期
  9. WPS如何转换成图片?三种方法帮你实现
  10. 关于AHB-RAM的一些内容1
  11. Mysql数据库数据拆分之分库分表总结
  12. Fortran笔记,指针-Part1
  13. 【元胞自动机】元胞自动机交通流模拟仿真【含Matlab源码 1252期】
  14. 年会回顾|因智而生 聚领新进,深眸科技扬帆起航,凝心聚力谱新篇
  15. 如何使用nginx搭建一个自己本地的域名如(mall.com)
  16. Python学习记录 使用tensorflow 2.8 完成猫狗识别 使用keras构建CNN神经网络
  17. 致香港科技大学学生家长的公开信
  18. 度转度分秒、度分秒转度
  19. 广东省科技进步奖二等奖!天翼物联NB-IoT技术助推万物智联
  20. 模型中的featuremap增强模块

热门文章

  1. Fraunhofer 研究院
  2. 计算机基本绘图知识实验报告,计算机绘图综合实验报告封面2012
  3. shell 脚本练习 | 「题霸」面试必考真题【shell篇】题解
  4. DMMS工具介绍-更改Android虚拟机默认安装位置
  5. 如果今天是星期三,后天就是星期五;如果今天是星期六,后天就是星期一。我们用数字1到7对应星期一到星期日。给定某一天,请你输出那天的“后天”是星期几。
  6. 如何使用word2016从任意页开始设置页码?
  7. 八卦:拿着鸡毛当令箭
  8. mysql 8.x改密码的姿势
  9. [益智]:太平洋的一个小岛上生活着土人,他们不愿意被外人打扰,一天,一个探险家到了岛上
  10. 【SOLIDWORKS学习笔记】草图绘制基础操作