java图案_用java实现 图片组成心形图案
用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实现 图片组成心形图案相关推荐
- 用java画爱心图_用java实现 图片组成心形图案
灵感:java2核心技术卷1(共两卷) 最近在看java2核心技术里面提到显示图片,于是就做了个心形图片组合图案...你懂得 import java.awt.*; import java.awt.ge ...
- php编程输出心形图案_利用php输出不同的心形图案_PHP
首先为大家分享php输出心形曲线的代码,代码如下 输出字符串 header('Content-type:image/gif');//通知浏览器输出的是gif图片 imagegif($im);//输出图 ...
- php编程输出心形图案_利用php输出不同的心形图案,php心形图案_PHP教程
利用php输出不同的心形图案,php心形图案 首先为大家分享php输出心形曲线的代码,代码如下 效果如下: 利用php输出笛卡尔心形图案,代码如下 复制代码 代码如下:$width = 600; $h ...
- C++用字符串组成心形图案的尝试
在网上看到好多有奇特图案的函数,比如这个公式,能绘出这样的心形图案. 为了用字符把心形区域填满,只需要设置for循环用x和y表示出一个方形画布区域,如果左边表达式的值不大于右边表达式1,则说明坐标位于 ...
- 易语言 java支持_开源Java客户端可以连接易语言服务器
我们的服务端处理客户端的连接请求是同步进行的, 每次接收到来自客户端的连接请求后, 都要先跟当前的客户端通信完之后才能再处理下一个连接请求. 这在并发比较多的情况下会严重影响程序的性能, 为此,我们可 ...
- 尚学堂java培训_送给 Java 自学者或者初学者的最全知识清单,2020 年 Java 就该这么学...
最近逛知乎,发现有很多想自学 Java 或者 Java 初学者提问,不知道如何学习 Java?我接触 Java 快 8 年的时间了,一直从事 Java 开发工作,自己一直升级打怪,对于如何更好的学习 ...
- java海报_使用java画一张海报
PS: 没找到合适的海报背景,就随便找了一张,使用技术都是相同的 1. 添加依赖 这俩其实跟本章节的核心技术没有关系,是为了获取QQ昵称和QQ头像而引入的. org.jsoup jsoup 1.11. ...
- java 抓图_用JAVA实现屏幕抓图的简单实例
/* 主要使用的是java.util.Robot类来捕获屏幕, * 可以实现对屏幕一个矩形区域的捕获,通过这个类, * 我们也可以实现一个远程桌面控制的程序 */ package com.qiu.ut ...
- java头像_用java实现给你的头像) +n
首先, 其实应该把标题改为--给任意图片右上角套上红色消息数目框; 代码如下: //主程序: package cn.sourcecodes.main; import cn.sourcecodes.ut ...
最新文章
- android4.0支持m3u8格式,【报Bug】安卓下无法播放M3U8格式音频,报错
- java粒子群优化算法_粒子群优化算法的JAVA实现
- 网页设计html流水效果图,15例简单常用网页设计效果代码
- Android学习之动画(二)
- Linux安装Redis
- 强强联手|任子行公司董事长景晓军一行到访云畅科技交流
- 海思MPP模块视频缓冲池
- js 获取当前与一个月前的日期
- WPS如何转换成图片?三种方法帮你实现
- 关于AHB-RAM的一些内容1
- Mysql数据库数据拆分之分库分表总结
- Fortran笔记,指针-Part1
- 【元胞自动机】元胞自动机交通流模拟仿真【含Matlab源码 1252期】
- 年会回顾|因智而生 聚领新进,深眸科技扬帆起航,凝心聚力谱新篇
- 如何使用nginx搭建一个自己本地的域名如(mall.com)
- Python学习记录 使用tensorflow 2.8 完成猫狗识别 使用keras构建CNN神经网络
- 致香港科技大学学生家长的公开信
- 度转度分秒、度分秒转度
- 广东省科技进步奖二等奖!天翼物联NB-IoT技术助推万物智联
- 模型中的featuremap增强模块
热门文章
- Fraunhofer 研究院
- 计算机基本绘图知识实验报告,计算机绘图综合实验报告封面2012
- shell 脚本练习 | 「题霸」面试必考真题【shell篇】题解
- DMMS工具介绍-更改Android虚拟机默认安装位置
- 如果今天是星期三,后天就是星期五;如果今天是星期六,后天就是星期一。我们用数字1到7对应星期一到星期日。给定某一天,请你输出那天的“后天”是星期几。
- 如何使用word2016从任意页开始设置页码?
- 八卦:拿着鸡毛当令箭
- mysql 8.x改密码的姿势
- [益智]:太平洋的一个小岛上生活着土人,他们不愿意被外人打扰,一天,一个探险家到了岛上
- 【SOLIDWORKS学习笔记】草图绘制基础操作