问题标签 [paint]

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 投票
3 回答
6462 浏览

java - Java 重绘无法正常工作

我使用 java repaint 方法,它会重新绘制,但只有当我单击画布或调整面板大小时才能看到更新。我怎样才能解决这个问题 ?是什么原因造成的?

0 投票
3 回答
17798 浏览

layout - SWT 更新/重绘/布局问题

我知道很多人都遇到过这个问题,但是我在网上找到的解决方案似乎没有解决我的问题。我有一个具有三个按钮的复合材料。我想要的是以下内容:当我单击一个按钮时,我希望其他一些按钮变灰( setEnabled(false) ),一段时间后(在方法执行之后),我希望再次启用该按钮。

很多这样的问题可以通过调用父容器的 layout() 方法来解决,或者这个非常相似的问题可以通过调用 Display.getCurrent().update() 来解决;

简单地说,我的代码可以总结如下:

发生的情况是,在到达 widgetSelected() 方法的末尾后,按钮被禁用。但是,标签会经常更新而没有任何问题(即使 label.update() 方法不存在)

附加信息:说,我禁用按钮,然后放一个 Thread.sleep() 然后启用按钮;它首先休眠,然后快速禁用和启用按钮。所以我相信所有这样的绘画请求都会排队并在执行结束时处理。

有用信息:我意识到,当我在显示更改后立即创建并显示 MessageBox 时,显示更改就会发生。因此,如果我在 widgetSelected 方法中进行以下更改:

调用 widgetSelected() 方法后,该按钮将显示为灰色。这让我相信我的解决方案在于 Display.getCurrent() 方法。但是,我尝试了

方法,他们没有解决我的问题。

谢谢, 埃格

0 投票
4 回答
21221 浏览

.net - C#如何在物体前面绘制?

您如何绘制应该在其他所有内容之上的字符串?现在在我的面板中,我在 Panel1.Controls 中有一些用户控件。所以我将它添加到 Paint 方法中:

问题是文本打印在用户控件后面,所以看不到。(如果我在打开的情况下更改文本的位置,它会正确显示)。

有任何想法吗?

0 投票
1 回答
414 浏览

.net - Outlook:如何在没有绘画问题的情况下设置父级(_form.Handle,Outlook.Handle)?

我想将 Outlook 的顶级窗口句柄设置为我的加载项中设置表单的父级(因此它显示在顶部,保留在 Outlook 中等)。

在其他 Office 应用程序中使用 SetParent 工作正常,但在 Outlook 中出现呈现错误。当 Outlook 是父级时,表单无法正确重新绘制(因此,如果我将其拖动或单击并返回,则 Outlook 的其他部分将绘制在其顶部)。

我所做的任何 Invalidate-ing 都会被忽略。

有人知道一个好的解决方案吗?谢谢!

编辑:我要添加的表单是 .Net 表单,这可能是问题的一部分。

0 投票
2 回答
4560 浏览

java - 使用 Java 的 Graphics 或 Graphics2D 类,如何绘制字符串?

我有一个String,我想把它画到一个图像上。我能够画点和画线,但是,即使在阅读了2D 图形教程的文本部分之后,我也无法弄清楚如何将 aString画到我的绘图上。

除非我看错了教程(但每当我搜索有关 Java 和使用Graphicsor绘制字符串时,我都会得到这个教程Graphics2D),我仍然很难过。

0 投票
5 回答
975 浏览

java - 如何在 Swing 中组合重绘?

我从听众那里多次调用重绘,但我设计我的绘画功能的方式是只需要一次重绘。我生成了一堆重绘,因为它连接到了我的鼠标运动监听器。

有没有办法取消某个组件的所有挂起的重绘?我不能只是开始忽略重绘,因为有些重绘是有效的,例如当您调整框架大小或从最小化恢复它时。

我为什么在乎?因为我的绘制代码非常繁重,我无法以非常高的 FPS 进行完全重绘。

0 投票
1 回答
1732 浏览

user-interface - 当父管理器具有焦点时,如何为 ListField 中的 LabelField 文本着色?

我有一个被覆盖的 LabelField,它允许我根据我的 ListField 中的项目是否应该被抑制或现在来更改字体颜色。使 LabelField 颜色柔和效果很好。但是,当行(包含我的 LabelField)在 ListField 中突出显示时,我希望标签字段颜色不同或反转。

这是我的代码:

public class MyLabelField extends LabelField{

}

在此示例中,我希望 MyLabelField 以灰色绘制,但是当其包含的 ListField 行具有焦点时,我希望颜色默认为 LabelField 绘制,这应该使其变为白色。

根据测试我的代码,当其父行具有焦点时,似乎 LabelField 没有获得焦点。也许我的代码中的其他地方需要进行更改...

0 投票
2 回答
2720 浏览

java - 有没有办法在 Java 中绘制一个“倒置”的剪辑区域?

我想使用 Graphics.fillRoundRect() 填充一个区域,但我希望它中间的一个矩形被填充。

本质上,给定一个 100x30 的组件,我想将裁剪设置为 10,10 大小为 80x10 的矩形,但填充仅绘制该80x10 矩形之外的区域。原因是我想要在不影响内部组件区域的情况下绘制一个带有弯曲轮廓的 n 像素边框。

到目前为止我能看到的最好的方法是剪辑到 10,10 90x10 并执行 fillRoundRect() 然后剪辑到 90,10 10x10 并执行 fillRect() 来填充右侧、角落下方和上方。

如果我简单地重新绘制一个单线矩形,那么我最终会在拐角处出现“斑点”,因为曲线不太邻接(和/或因为 AA 会影响周围的像素)。

编辑:警告 - 我需要一种可以与 J2ME AWT(具有个人配置文件 1.1 的 CDC)以及 J2SE 一起使用的方法。


编辑:另一个类似的问题有一个我能够适应的答案。适合我的情况的代码作为自我回答发布。

0 投票
3 回答
485 浏览

.net - Windows 窗体在 XP 中重复绘制,但在 Vista 中没有

我正在尝试解决我的应用程序中的一个问题。我在 Vista 中开发应用程序,它在那里运行良好,但是当我将它带到 XP 时,表单变得迟缓且无响应。当我使用断点查看 Windows 消息时,我发现在 XP 中,表单大约每秒重复绘制一次(即使它并不真的需要);然而,在 Vista 上的相同测试并没有显示这种重复的绘画。

关于可能导致这种情况的任何想法?

0 投票
2 回答
207 浏览

simulation - 油漆模拟存在哪些库、数据和算法?

我想在画布上模拟油画和丙烯颜料,这样我就可以在画布上添加笔触并混合颜色。

我不想为这种情况制作动画,我只想能够在现有油漆上模拟笔触的最终结果。

有什么建议么?