「java截取圆」圆规截取法
本篇文章给大家谈谈java截取圆,以及圆规截取法对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
java怎么处理获得内切圆图片
java处理获得内切圆图片的代码如下:
public static void main(String[] args) throws IOException {
BufferedImage bi1 = ImageIO.read(new File("d:/1.jpg"));
// 根据需要是否使用 BufferedImage.TYPE_INT_ARGB
BufferedImage image = new BufferedImage(bi1.getWidth(),
bi1.getHeight(), BufferedImage.TYPE_INT_ARGB);
Ellipse2D.Double shape = new Ellipse2D.Double(0, 0, bi1.getWidth(), bi1
.getHeight());
Graphics2D g2 = image.createGraphics();
image = g2.getDeviceConfiguration().createCompatibleImage(
bi1.getWidth(), bi1.getHeight(), Transparency.TRANSLUCENT);
g2 = image.createGraphics();
g2.setPaint(new Color (255,255,255));
g2.fill(new Rectangle(image.getWidth(), image.getHeight()));
g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.8f));
g2.setClip(shape);
// 使用 setRenderingHint 设置抗锯齿
g2.drawImage(bi1, 0, 0, null);
g2.dispose();
try {
ImageIO.write(image, "PNG", new File("d:/2.png"));
} catch (IOException e) {
e.printStackTrace();
}
}
java中圆的平均分割
程序会是有误差的,和声明变量的精确度有关!即使你声明的是对的,但是在程序中运算一次会自动的取你声明过的变量的类型的精确值
比如i=1除以3,如果i是双精度型的话,程序中计算结果会默认取到双精度的精确值,这样会有误差,误差是再所难免的,但是可以尽量缩小误差,具体的缩小办法要看你程序的算法了
就是这么多了,要是感觉好的话给分吧
在Java中如何用程序画一个圆
使用java画圆要用到绘图类Graphics,下面是实例代码和运行效果:
package com.dikea.demo01;
import java.awt.*;
import javax.swing.*;
// java绘图原理
public class demo_01 extends JFrame {
MyPanel mp = null;
public static void main(String[] args) {
// TODO 自动生成的方法存根
demo_01 demo01 = new demo_01();
}
public demo_01(){
mp = new MyPanel();
this.add(mp);
this.setSize(400, 300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
}
// 定义一个MyPanel面板,用于绘图区域
class MyPanel extends JPanel{
//覆盖JPanel
// Graphics 是绘图的重要类,可以理解成一支画笔
public void paint(Graphics g){
// 1. 调用父类函数完成初始化任务
// 这句话不可以少
super.paint(g);
// 先画出一个圆圈
g.drawOval(100, 100, 30, 30);
}
}
代码复制进ide编程工具,运行效果如下:
JAVA定义一个圆获取半径类
package mycircle.subCircle; //创建包
import java.io.*;
public class CircleClass
{
public static void main(String args[])
{
myCircle cir1=new myCircle(10,10);
mySubCircle subCir=new mySubCircle(20,20,20);
System.out.println("父类中坐标为:" + cir1.getX() + "和" + cir1.getY());
subCir.setR(120);
System.out.println("子类中" + subCir.toString());
}
}
class myCircle
{
float x;
float y;
float r;
myCircle()
{
}
/*重载构造函数*/
myCircle(float px,float py)
{
x=px;
y=py; //设置圆心位置
r=1; //设置默认半径为1
}
float getY()
{
return y;
}
float getX()
{
return x;
}
public String toString()
{
String s="位置为:" + x + "," + y
+"半径为:" + r;
return s;
}
}
class mySubCircle extends myCircle
{
mySubCircle(float px,float py,float pr)
{
x=px;
y=py;
r=pr;
}
void setR(float pr)
{
this.r=pr;
}
float getR()
{
return this.r;
}
public String toString()
{
String s="位置为:" + x + "," + y
+"半径为:" + r;
return s;
}
}
运行成功,运行环境JDK+WinXP
关于java截取圆和圆规截取法的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。