问题标签 [custom-painting]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1240 浏览

android - 如何在android中触摸绘图和擦除

我在互联网上没有得到这个问题的答案,我正在尝试用用户可以选择的不同颜色进行绘制,问题是这个 drawview 没有绘制任何东西,我不知道如何使用触摸橡皮擦只擦除触摸点是 customview :

如果有人能提供答案,将不胜感激,这是我的日志:

0 投票
0 回答
46 浏览

java - 尝试在动态创建的表单中绘制线条,这些线条重新聚集在主表单上。我该怎么办?

我正在使用 Netbeans .. 我正在尝试创建一个发票应用程序。所以我在第一个表单上创建了 jframe 表单并开具发票。这个表单以表格方式接受所有发票详细信息,我已经覆盖了绘制方法以在其中绘制一些线条发票 jframe。

现在我已经动态地创建了另一个 Old Items jframe,当我们单击按钮时会从该 jframe 中创建。此表格接受退回的旧产品的详细信息。我想在 OldItems jFrame 中绘制一些线条。但是当我尝试这样做时,线条要么在主 Invoice 表单中绘制,要么根本不绘制。

有什么方法可以为不同的形式调用不同的绘制方法吗?这是代码:

期望的结果

实际结果

这些是输出窗口..我想要第二个屏幕截图中的线条。

0 投票
0 回答
325 浏览

java - Java,鼠标拖动 AffineTransform

我正在研究 Java Swing。

我需要一个让用户缩放绘图的应用程序。

绘图是在自定义JPanelpaintComponent方法中完成的。

可以说,绘图是一个drawRect方法调用。

在应用程序中有两种缩放绘图的方法(让我称之为“模式”):

  1. 当调用它的方法时,简单地增加绘图的宽度和高度。例如:

    其中addXaddY是用户鼠标拖动手势的偏移量。

  2. 在绘制绘图之前使用/更改处理绘图缩放的AffineTransform 。例如:

    /li>

两种缩放模式结合在一起!

用户在绘图的边缘拖动鼠标以缩放绘图。

用户每次通过两个按钮选择启用哪种模式:第一个模式(“绘制比例”)的一个按钮和第二个模式(“AffineTransform 比例”)的一个按钮。

到目前为止,这是我的代码:

问题是我无法正确组合这两种模式。我需要 AffineTransform 对象根据用户的拖动手势进行相应更改,以便在将变换应用于绘图时,绘图会在用户鼠标所在的位置缩放。

为清楚起见,代码将图形绘制在红色矩形内。缩放模式后的绘图大小必须仍在红色矩形内,但不是,这就是问题所在。

这是演示问题的屏幕截图:

问题DemoImage

要重新创建问题,您可以执行以下步骤:

  1. 拖动绘图以放大它,直到它到达框架的两侧。
  2. 选择“绘制比例”。
  3. 尽可能小地拖动绘图(但也是可见的)。
  4. 选择“仿射变换比例”。
  5. 重复上述步骤一两次,问题应该是可见的。
0 投票
1 回答
1010 浏览

java - 每次鼠标点击画线,双击停止画线

我必须在鼠标移动时画线,鼠标点击后,线应该继续画,直到双击。说A点、B点和C点。当鼠标点击A点时,应该开始画线了。当鼠标单击 B 点时,上一条线应该在那里,除非双击,否则应该从 B 点开始绘制新线。点 C 等应该相同,直到双击鼠标。经过一番研究,我写了下面的代码,它工作得很好,但它适用于拖动 NOT MOUSE MOVE 事件,我试图将代码转移到 mouseMoved 事件,但前一行正在消失。有人可以帮我解决这个问题吗?

0 投票
1 回答
1033 浏览

java - 如何将多个paintComponent() 添加到框架中?

所以这是我的主要课程:

这是处理我想要绘制的类:

如果我添加另一个

什么都没发生。我认为这与框架的布局有关,但是气泡的坐标是随机的,所以我不确定如何使用它。

0 投票
1 回答
298 浏览

java - 绘图面板颜色随位移而变化

我正在使用 JGrasp,在 中drawingPanel,我正在尝试创建一个在屏幕上移动时会改变颜色的球。现在,我有:

我的完整简化代码是:

我希望这已经足够简化了。

0 投票
1 回答
79 浏览

java - Swing 自定义绘画动画在达到半帧宽度后停止

我试图回答一个与在屏幕上移动球有关的问题,同时随着时间的推移改变它的颜色,但是我遇到了一个奇怪的错误,(很可能在我的代码中)并且在问这个问题时我遇到了一个相关的问题,但是问题是使用客户端-服务器架构,而我的只是一个运行自身的 Swing 应用程序。

正在发生的事情是,当圆/球(无论您想如何命名)达到半宽时,JPanel或者JFrame它变得不可见或停止。

起初我认为这可能是我JPanel的位置不好,但我添加了一个Border,所以我可以看到它的尺寸,但它显示了整个空间周围的整个边框JFrame

接下来我认为这可能是一些算术问题,所以我决定让球比我最初画的更大和更小,给我同样的结果,当我放大或缩小窗口大小时也有同样的问题。

为了获得以下输出,我需要更改增量9而不是10我最初添加的增量,因为如果我将其更改为10它变得不可见:

在此处输入图像描述

下面的代码产生上面的输出:

我还认为它可能与ShapesAPI 有关,并决定将其更改fillOval为同样的结果,我还不能发布 GIF,但如果需要,稍后会添加它。

我在 MacBook Pro(13 英寸 Retina 显示屏,2015 年初)上的 macOS Sierra 10.12.6 (16G29) 下工作,在 Java 1.8 下编译和运行它

我稍后也会在我自己的 PC 而不是我工作的 Mac 上测试此代码,但是,这可能是与 Swing 的 API 相关的错误还是我自己的代码中的错误?如果是这样,我做错了什么?因为我似乎不清楚

0 投票
0 回答
201 浏览

c++ - Win32 C++自定义绘画子类单选按钮初始背景问题

我正在尝试使用子类单选按钮和 WM_PAINT 绘制具有透明背景的单选按钮。我知道如何使用 TransparentBlt 功能和屏幕外(后)缓冲区来做到这一点。

我的问题是,默认情况下,单选按钮最初会绘制一些文本和圆圈(见图 1)。我的 WM_PAINT 消息仅包含 BeginPaint() 和 EndPaint()。当我最小化窗口然后再次激活窗口时,默认文本和圆圈会被您期望的黑色方块替换(参见图 2)。

黄色窗口也使用 WM_PAINT 以相同的方式绘制。

根据自定义绘画和双缓冲的要求,两个过程都为 WM_ERASEBKGND 返回 1,为 WM_PAINT 返回 0。

这是正常行为吗?我通过使用 WS_EX_TRANSPARENT 找到了一个“修复”,但我想首先了解为什么单选按钮最初被画成这样以确定这是否适合我。

提前致谢。

单选按钮创建:

单选按钮程序:

图 1:绘制的初始单选按钮

图 2:最小化后的单选按钮 > 再次显示

0 投票
1 回答
1042 浏览

java - 如何在不小于或大于周长的情况下绘制圆的半径

我正在开发一个程序,我想在其中画一条从圆心到它的参数点的线。但它在圆周外和内圆周上画线。我想根据XY角度在圆周上精确地画线。

圆心点:

[这里我只想为圆心画一条线到它的圆周。

0 投票
1 回答
147 浏览

java - Java Swing 中的蛇游戏 - 我的蛇只会长大

我正在尝试在 Swing 中制作经典的 Snake 游戏,并且我设法让 Snake 移动,但是当它移动时,它会变得无限长,因为它永远不会擦除它的尾巴。

我一直在使用validate()repaint()但没有任何效果。

问题

这是我的代码:

几天来,我一直在试图找出问题所在。上面的代码有什么问题?