问题标签 [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.
java - 自定义绘画和Z-order:查询重新绘画顺序
所以,我想对 a 中的一些组件进行 Z 排序JFrame
。
组件:
框架:
将组件添加到框架/主类中:
repaint()
然后,我想使用调用来渲染这些组件。
渲染器:
应该在顶部/下方呈现的内容应该对应于框架中组件的 Z-index。(例如,索引 1 处的组件应在组件顶部呈现索引 0)
但是,当渲染器 ( JPanel
) 被添加到窗口 ( JFrame
) 上并被paintComponent
调用时,什么都不会发生。从字面上看,没有任何油漆。
注释掉主类中的 Z 顺序代码使得至少有一些东西确实在绘制,但是红色绘制在蓝色之上(因为在 PaintComponent 方法中,红色最后绘制,因此在顶部),这不是我想要的是。
为什么组件按照它们在 中调用的paintComponent
顺序显示,而不是按照它们在 中设置的顺序显示JFrame
?
MRE / SSCCE
flutter - 颤振中CustomPaint的高度
我正在构建一个 CustomPaint 小部件,以使用 ParagraphBuilder 以自定义方式显示文本,并将其命名为 myHtmlWidget。
我的问题是如何在绘制之前确定小部件的高度?我试图在 MyHtmlPainter 的构造函数中调用 ParagraphBuilder 并测量高度,但那里没有宽度!
这是我的构建树的一部分:
这是 MyHtmlPainter:
flutter - Flutter 中所有渲染词框的列表
如何获得包含我呈现的所有单词的框列表,我需要它来确定用户长按哪个单词?换句话说,我怎样才能找到maxRange以便我可以在下面的代码中使用getBoxesForRange ?
我的代码:
user-interface - 如何在 Flutter 中实现自定义渐变形状/图案
开箱即用,我们得到LinearGradient
,RadialGradient
和SweepGradient
。我想做的是类似于下面显示的图像。假设我们用 绘制一个自定义形状CustomPainter
。当在其上应用此 customShapeGradient 时,渐变应从自定义形状的边框开始并朝向中心。我意识到这可能会引入奇怪的效果,因为我们的形状大多不是对称的,并且“边框到中心”方法不像“中心到边框”方法(如 3 个开箱即用方法)那么容易。在这里,开发人员有责任确保渐变填充不与自身重叠,这意味着它不会一直到中心。
这是我为椭圆形找到的图像,它最接近地描述了我想要的东西。假设我们的形状是黄色的线。我想实现填充内部的渐变。
我提供的两个示例是针对椭圆的,但是我的问题是针对由CustomPainter
.
我几乎可以肯定这是可能的,因为阴影(本质上是渐变)基本上与此相反。我们可以对CustomPainter
形状应用阴影。唯一的区别是阴影会向形状内部增长(可能像内部阴影)。
flutter - 颤振:onTap 未在自定义绘画小部件顶部的手势检测器上触发
这是我的小部件
当用户点击图标时,我正在尝试切换到绘图区域。但是一旦在用户点击图标时创建了自定义绘画区域,之后它就不会检测到任何点击。
getWidget 方法根据点击的图标返回一个小部件。这是小部件之一。当这个小部件返回时,点击功能不再起作用。
flutter - 颤动中的画布drawLine偏移属性
好的,直截了当地为了画一条线,我们必须定义偏移点,作为一个假人,我无法理解它们是如何工作的。我知道偏移量会取代绘制的线,但我想怎么知道我应该通过什么值。例如下面的代码:
我不明白这些点在设备屏幕上的位置,所以我的问题是如何计算这些点?
user-interface - Flutter how to paint custom gradients
I recently experienced a problem when I was trying to create following AppBar with gradient.
When I tried to replicate this design in flutter with the colors rose = Color(0xFFec15ee), purple = Color(0xFF8561f5) and blue = Color(0xFF1eaefc) and set the alignment property accordingly it somehow gave me not the expected result
Just imagine the opacity wouldnt be there. As you can see I only want the rose to be aligned at the bottomLeft and not to expand up to topLeft as shown in the example.
My question how can I do that. There must a way to do that within CustomPainter yet I haven't found the right way.