我正在Canvas上绘制一个矩形,并从矩形的中心到坐标空间中的某个随机点画一条线。现在,我想按矩形内的长度截断该线,以便该线从矩形边缘开始。我该怎么做?示例矩形可以由2个点定义:Pstart(1,3),Pend(3,1)中心点可以计算为:P(2,2)现在绘制从P(2,2)到Q(10,2)的直线。我知道矩形的宽度是2,我可以告诉线从P(4,2)而不是P(2,2)开始.当点不平行于XY轴之一时,这会变得更加复杂。此外,对于对角线,矩形内的长度将有所不同。如何计算线点相对于矩形中心和线终点的起始偏移量?可能我必须找到直线穿过矩形的点,然后让直线从交叉点开始。但是我怎么能得到这一点呢?
我想围绕它的中心点旋转一个矩形,它应该保持在应该绘制的位置并在该空间旋转这是我的代码:AffineTransformtransform=newAffineTransform();transform.rotate(Math.toRadians(45),rectangle.width/2,rectangle.height/2);Shapetransformed=transform.createTransformedShape(rectangle);g2.fill(transformed)矩形已旋转但绘制在屏幕的不同部分,我该如何更正此问题? 最佳答案
我试图创建一个绘制矩形的JPanel。面板需要绘制很多矩形,但它们不会移动。我的问题的一个解决方案是创建一个列表,其中包含我已经创建的所有矩形,并在每次调用“Paint”时将它们全部绘制出来。但是有很多矩形,它会减慢计算机的速度。我还尝试使用repaint(x,y,height,width)来重绘新矩形的空间,但它没有用。(JPanel不断删除以前的矩形。)在某种程度上,我需要绘制不会消失所有油漆的矩形。或者一种不会删除以前绘制或不会绘制背景的绘制方法。这是我的JPanel类的一部分:classMyPanelextendsJPanel{privateintx,y,size;privat
我正在构造一个Rectangle类。我尝试了很多次,看了许多教程,但是我的程序无法正常工作。到目前为止,这是我的代码:publicclassRectangle{publicstaticvoidmain(String[]args){Rectanglebox=newRectangle(5,10,20,30){System.out.println(newRectangle());}} 最佳答案 有一些事情需要指出。首先,您的代码将无法编译。试试这个。importjava.awt.Rectangle;publicclassRectangle
先描述一下问题:在由于宽度或高度的变化而重新布局期间,Java的ScrollPaneLayout在设置其视口(viewport)边界之前请求其子级的preferredSize。在Text-Components上调用getPreferredSpan可以更改布局,因为此getPreferredSpan在内部调用setSize。结果是,在这种情况下,没有View(扩展javax.swing.text.View)可以确定地检索其父组件的实际大小。getVisibleRect在这种情况下将失败,因为尚未设置视口(viewport)的边界。检查文本组件的有效性以阻止布局过程不是一个选项,因为它在这
嗯,根据我的经验和OracleJavaAPI文档,我知道他们这样做,但我想知道为什么。通过构造函数,我只允许将int类型的参数传递给Rectangle类,x、y等的内部数据表示是类型int和setSize()仅排除int类型的参数。但是,为什么所有方法,如getX()、getY()、getWidth()等,在没有精确?为什么不像预期的那样简单int?编辑:我知道它是从Rectangle2D类派生的,但是仍然没有理由不提供任何基于int的getX()和getY()函数,与Point和Point2D类不同,这些方法不是抽象的。此外,setLocation()也不是抽象的。
我一直在尝试为我正在开发的小游戏实现基本的文本气泡。不想太花哨,我从一个基本的圆角矩形开始,它的边框包含一些文本:然后,我决定文本气泡应在预设时间后淡出。这就是我偶然发现问题的地方:当我尝试在测试窗口中显示气泡时,一切正常,但是当我在游戏中显示它们时,气泡消失时出现失真。我又测试了一些,调试了一下,发现这两种情况的唯一区别是,在测试窗口中,我使用paintComponent方法的Graphics绘制气泡,而在游戏中,我使用BufferedImages模拟图层并使用image.createGraphics中的图形。然后我可以成功地复制错误:在这里,您会看到当左侧的气泡消退时,其圆角与消退
我有一个接口(interface)Polygon,然后我有一个类Quadrilateral。然后,我有两个类,Square和Rectangle,它们扩展了Quadrilateral。四边形由实例变量sideA、sideB、sideC和sideD组成。它包含方法area()和perimeter()来计算任何四边形的面积和周长。考虑到这一点,Square类有一个实例变量lengthOfSides,而Rectangle类有两个实例变量,length和width。由于Quadrilateral中的方法area和perimeter可以用于计算任何四边形的面积和周长,包括正方形和矩形,我认为最好只
继去年上半年一鼓作气研究了几种不同的模版匹配算法后,这个方面的工作基本停滞了有七八个月没有去碰了,因为感觉已经遇到了瓶颈,无论是速度还是效率方面,以当时的理解感觉都到了顶了。年初,公司业务惨淡,也无心向佛,总要找点事情做一做,充实下自己,这里选择了前期一直想继续研究的基于离散夹角余弦相似度指标的形状匹配优化。 在前序的一些列文章里,我们也描述了我从linemod模型里抽取的一种相似度指标用于形状匹配,个人取名为离散夹角余弦,其核心是将传统的基于梯度点积相似度的的指标进行了离散化: 传统的梯度点积计算公式如下: 对于任意的两个点,通过各自的梯度方向,按照上述公式可计算出他们的
我正在像这样扩展JFrame:publicGameFrame(){this.setBounds(30,30,500,500);this.setDefaultCloseOperation(EXIT_ON_CLOSE);initializeSquares();}privatevoidinitializeSquares(){for(inti=0;i但是,屏幕上只绘制了一个正方形,有人知道为什么吗?我的Square类也是这样的:privateintx;privateinty;privateintwidth;privateintheight;publicSquare(intx,inty,intw