问题标签 [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.
c++ - 如何修复 MFC 绘画故障?
我正在尝试为我工作中正在开发的材料系统实现一些拖放功能。该系统的一部分包括一个“材料库”,它充当用户硬盘上保存的材料的存储库,分为几组。
作为一些 UI 润色的一部分,我希望实现一个“突出显示”类型的功能。拖放时,您可以合法地将材料拖放到其上的窗口将非常微妙地改变颜色,以改善对用户的反馈,即这是一个有效的操作。
我正在使用“基本材料”(只是带有 CStatic 的 CWnd)的栏从未突出显示时的中等灰色背景变为悬停时的蓝色背景。这一切都很好, OnDragEnter 和 OnDragExit 消息看起来很健壮,并设置了一个指示突出显示状态的标志。然后在 OnCtrlColor 我这样做:
但是,正如您在屏幕截图中看到的那样,被拖动对象下方的绘画“出现故障”,原始灰色留在原地。它看起来真的很丑,基本上破坏了整个效果。
有什么办法可以解决这个问题吗?
java - 如何获取图像paint/paintComponent 生成?
我有一个快速的问题。如何获取由 JComponent.paint 或 paintComponent 生成的图像?
我有一个 JComponent,我将其用作“工作区”,并在其中将 paintComponent 方法覆盖为我自己的。问题是我的工作区 JComponent 也有孩子,他们有自己的 paintComponent 方法。
所以当 Swing 渲染我的工作区组件时,它会渲染工作区图形,然后是它的子组件。
但是,我想获取我的工作区组件生成的图像(包括工作区图形和子图形)。
我怎么做?
我尝试使用自己的图形自己调用paintComponent/paint-method,但我只返回了一个黑色图像。这是我尝试过的;
欢迎任何想法或评论!:)
java - 在 Mac OS X 中获取 AWT 框架的可绘制区域?
我已经继承java.awt.Frame
并覆盖了该paint()
方法,因为我希望手动绘制窗口的全部内容。
但是,在图形对象上,(0,0) 对应于标题栏装饰内窗口的左上角,而不是第一个可绘制像素。
我能否以跨平台的方式确定第一个可绘制像素的坐标(即装饰的高度),避免使用 Mac OS X 特定的软糖因子?为了找到窗口的实际可绘制区域,我是否会被迫嵌套Panel组件?
在这里,我的代码无法将蓝色方块居中在窗口的可绘制区域内:
algorithm - 图轴的刻度线算法
我正在寻找一种算法,该算法将刻度线放置在轴上,给定要显示的范围,要在其中显示的宽度以及用于测量刻度线的字符串宽度的函数。
例如,假设我需要在 1e-6 和 5e-6 之间显示以及以像素为单位显示的宽度,算法将确定我应该在 1e-6、2e-6、3e-6 处放置刻度线(例如) 、4e-6 和 5e-6。给定一个较小的宽度,它可能决定最佳位置仅在偶数位置,即 2e-6 和 4e-6 (因为放置更多的刻度会导致它们重叠)。
智能算法将优先考虑 10、5 和 2 倍数的刻度线。此外,智能算法将在零附近对称。
java - 如何通过 Java 小程序将图像文件保存在服务器上?
我有一个作为 Java 小程序运行的绘图应用程序。我需要以任何图像格式(通常是 PNG)将画布的内容保存在服务器机器上。请帮忙!
delphi - 如何在自定义 TGraphicControl 上拉伸绘制两个并排的图形?
我正在编写我的 Delphi TGraphicControl 绘制程序。
我创建了一个画布并将其拉伸到图形区域。它运作良好。
然后我在图形区域上使用另一个 Stretchdraw 重复此操作,但它是在第一个 Stretchdraw 的区域中绘制的,而不是在我引导它时绘制到图形区域上。
有没有一种方法可以在 TGraphicControl 的画布中将两个拉伸绘制并排放置?
c# - PictureBox调整大小和绘画问题
我想在 Winform 应用程序中显示一些图形,它将是股票图表绘制工具。我认为(但我不确定......)我必须使用 PictureBox,并使用 System.Drawing.Graphics 类的绘图原语来绘制图表。我已经开始对其进行编码,现在它或多或少可以工作,但是我在调整大小功能时遇到了问题,如下所示:当我调整整个表单的大小时,我看到程序显示图形然后立即清除它。当我停止鼠标移动(没有释放鼠标按钮)时,图形消失了!?!?
我做了一个小测试环境来演示这个bug:使用VS2005,新建一个C# Windows Forms app,只在表单中添加一个PictureBox。将 PictureBox 的锚点设置为左、上、右和下。添加两个事件处理程序,Resize 到 PictureBox,Paint 到 Form。
}
这个小应用程序显示了问题。它只画一个椭圆,但当然我的绘图代码要复杂得多......
知道为什么当我调整表格大小时椭圆会消失吗????
c# - 如何暂停控件及其子控件的绘制?
我有一个控件,我必须对其进行大量修改。我想在这样做时完全防止它重绘 - SuspendLayout 和 ResumeLayout 是不够的。如何暂停控件及其子控件的绘制?
java - Java Paint 方法不绘制?
我正在研究一个简单的小摆动组件,我正在扯头发试图弄清楚为什么我的绘画方法不起作用。
这个组件背后的想法是它是一个带有标签的小型 JPanel。背景(标签后面)应该是白色的,左侧有一个彩色矩形表示两个测量值的比率:“实际”和“预期”。
如果你有一堆这些组件垂直对齐,它们会形成一个条形图,由水平条组成。
这种事情应该超级简单。
无论如何,这是代码:
这是简单的测试工具:
测试工具创建一个简单的框架,然后添加其中三个控件。
标签都正确呈现,这向我表明paint() 方法实际上正在被调用,但矩形没有被绘制到 Graphics 对象。
我究竟做错了什么?
为什么 Swing 编程如此糟糕?
这是我的最终代码。谢谢大家,你们的帮助!
.net - .NET:绘画(剪辑)只是控件的一部分?
我有一个 VB.NET 程序,我在其中使用 WebBrowser 控件来模拟时间表表单。对于数据输入,我使用了位于 WebBrowser 控件顶部的 DateTimePicker 控件,我已将其编程为在单击 WebBrowser 控件时移动到 WebBrowser 控件中表格单元格的顶部。(如果你想问我为什么不使用 DataGridView,那是为了格式化)
我的问题是,我想将 WebBrowser 的某些部分(标题、滚动条)视为位于 DateTimePicker 之上,尤其是在用户滚动 WebBrowser 时。我的想法是以某种方式为 DateTimePicker 提供一个矩形,使其仅绘制该区域内的控件部分。不幸的是,我对 .NET 几乎是全新的(但不是一般的编程),在谷歌搜索了半天之后,我仍然不知道该怎么做。
有谁知道如何做到这一点并且可以告诉我/指向我可以告诉我如何的地方?