标签: java-2d

在Java2D中是否可以移动坐标系?

我需要一个2D坐标系,使用户空间坐标系在屏幕上摆动组件.现在这正是Java2D所做的.但我需要进一步的是移动屏幕和坐标系的相对位置以获得一种滚动.

在Java 2D中,默认后代(0,0)位于左上角,这在计算机图形中很常见.

有可能移动这一点吗?如果是:我该怎么办?

提前致谢.

java-2d coordinate-systems

2
推荐指数
1
解决办法
4615
查看次数

用Java2D绘制多个圆圈

我正在尝试使用Java2D来做一些简单的图形编程.我开始很简单,只是想在JFrame中显示几个圆圈.我成功显示了一个圆圈,但添加第二个圆圈时,只显示添加到JFrame的最后一个圆圈.我使用类Circle来定义我的圆并覆盖用于显示它的paintComponent方法.任何关于我可能做错的建议都将不胜感激.我的课程代码Circle和DancingCircles在下面提供,以供参考.

import java.awt.*;
import javax.swing.*;
import java.awt.geom.*;
/**
 *
 * @author Paul
 */
public class Circle extends JPanel {

// Data members for Circle center and radius
private double centerX, centerY;
private double radius;

// No-argument constructor
Circle() {
    centerX = 200;
    centerY = 200;
    radius = 10;
}

// Full-argument constructor
Circle( double x, double y, double r) {
    centerX = x;
    centerY = y;
    radius = r;
}

// Draw a Circle
protected void paintComponent(Graphics g) {
    super.paintComponent(g); …
Run Code Online (Sandbox Code Playgroud)

java java-2d

2
推荐指数
1
解决办法
1万
查看次数

如何使用彩色图案剪切图像?

我正在开发一个小程序,用颜色剪切图像.

使用此示例图像最容易解释:

黑色,紫色斑点的颜色

我想用紫色的形状创建一个新的图像,没有黑框.

有没有人有任何想法?我正在使用Java 2D,所以我认为我需要使用第一张图像的紫色区域创建一个对象"Shape".

java image colors shape java-2d

2
推荐指数
1
解决办法
759
查看次数

Java2d:平移轴

我正在使用 Java2d 开发应用程序。我注意到的奇怪的事情是,原点在左上角,正 x 向右移动,正 y 向下增加。

有没有办法移动原点左下角?

谢谢你。

java graphics java-2d

2
推荐指数
1
解决办法
4371
查看次数

如何绘制半圆

我正在用Java开发一个小应用程序.我正在使用Java2D Library绘制一些图形对象.现在我想绘制一些半圆形状或简单的单词我需要绘制这个(形状和这个)形状.我没有找到任何绘制半圆的功能,但我想这Arc2D.Double(. . .); 对我有用,所以我尝试了但是我不明白我需要传递给它的构造函数的params.所以我最终得到了奇怪的形状:(

有人可以详细解释这些参数或参考一些好的链接.

java java-2d

2
推荐指数
1
解决办法
2万
查看次数

绘制多个移动图形

我已经使这个程序能够绘制一个使用这两个类在屏幕上弹跳的小球的实例

import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.geom.Ellipse2D;

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

public class move extends JPanel implements ActionListener
{
    Timer t = new Timer(7, this);
    int x = 10, y = 10, velX = 7, velY = 7;

    public void paintComponent(Graphics g, Graphics h)
    {
        super.paintComponent(h);
        super.paintComponent(g);
        System.out.println(g);
        Graphics2D g2 = (Graphics2D) g;
        Ellipse2D circle = new Ellipse2D.Double(x, y, 40, 40);
        g2.fill(circle);
        t.start();
    }

    public void actionPerformed(ActionEvent e) {
        if(x<0 || x > getWidth())
        {
            velX …
Run Code Online (Sandbox Code Playgroud)

java graphics swing java-2d

2
推荐指数
1
解决办法
8233
查看次数

碰撞检测教程

我应该用AWT开发一个Java游戏.我坚持"碰撞检测"的概念.如果您可以帮助我解释概念(如何工作)或举例(源代码)的任何教程,我将不胜感激.

java awt collision-detection java-2d

2
推荐指数
1
解决办法
5747
查看次数

2
推荐指数
1
解决办法
2万
查看次数

使用Java 2D创建动画效果

看这个游戏的背景 图片
(来源:xbox.com

可以用Java 2D产生那种黑暗的效果吗?

java java-2d

2
推荐指数
1
解决办法
128
查看次数

FontMetrics 返回错误的高度

我想获得面板上字符串的确切高度(以像素为单位)。所以我编写了一个程序来绘制字符串,然后在它周围绘制一个矩形。

使用FontMetrics,我使用getStringBounds方法来获取封闭的矩形。

然而它看起来是错误的:

在此输入图像描述

我期望矩形能够完美地包围我的文本,但顶部有空间(左侧和右侧有一点空间)。为什么它给我这个结果?

这是我的代码:

public class Test extends JPanel {

    @Override
    protected void paintComponent(Graphics g) {

        Font font = new Font("Arial", Font.PLAIN, 60);
        g.setFont(font);

        FontMetrics fm = this.getFontMetrics(font);

        String str = "100dhgt";
        Rectangle2D rect = fm.getStringBounds(str, g);

        int x = 5;
        int y = 100; 

        g.drawRect(x, y - (int)rect.getHeight(), (int)rect.getWidth(), (int)rect.getHeight());
        g.drawString(str, x, y);
    }

    public static void main(String[] args) {
        JFrame f = new JFrame();

        Test test = new Test();
        f.add(test);
        f.setVisible(true);
        f.setSize(400, 400); …
Run Code Online (Sandbox Code Playgroud)

java swing java-2d

2
推荐指数
1
解决办法
1152
查看次数