问题标签 [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.
android - Android TextView 上的最大行长
我将格式化的单行文本(没有 \n)放到不可编辑的 TextView 中。在程序的导航中,可以更改文本。在某些文本上,TextView 缩小到 0x0 像素,我什么也看不到!我添加了一些菜单来每次将文本截断 10 个字符,我发现如果字符数大于 4470,则 TextView 会缩小。
通过将 \n 放在中间将文本分成几行可以解决问题,但这不是我的意图。
你能帮我看看这是否被记录在案,或者有什么可以设置来消除这个限制吗?
qt - Qt 绘制的内容丢失了
我正在编写一个信息屏幕程序。我创建了一个全屏小部件并在其上绘制内容。
为了延长 TFT 显示设备的生命周期,我想实现像素移位功能。换句话说,每X分钟,我将屏幕向左/右/上/下移动Y像素。
我的方法如下:
- 我使用两层(两个 QWidget)。
- 我在顶层绘制内容。
- 当执行像素移动时,我只是将顶层移动到指定的偏移量。
- 然后在底层填充背景颜色。
但是,我发现了一个问题:
如果我将顶层向上移动 10 个像素,则 10 个像素的内容会离开屏幕。但是当我将此层向下移动 10 个像素时。10 像素内容不会更新,它已经消失了。
我怎样才能保留这些 10 像素的内容?是否有任何神奇的小部件标志来解决这个问题?
更新 1: 代码是用语言 D 编写的,但很容易理解:
windows - Win32:一个窗口在其整个生命周期中是否具有相同的 HDC?
我可以在油漆周期之外使用直流电吗?我的窗口的 DC 是否保证永远有效?
我试图弄清楚我的控件的设备上下文 (DC) 的有效时间。
我知道我可以打电话给:
获取我的控件窗口的设备上下文,但这是否允许?
当 Windows 向我发送 WM_PAINT 消息时,我应该调用BeginPaint / EndPaint以正确确认我已绘制它,并在内部清除无效区域:
但是调用 BeginPaint 也会在 PAINTSTRUCT 结构中返回一个 DC。这是我应该画的DC。
我在文档中找不到任何内容表明 BeginPaint() 返回的 DC 与我从 GetDC() 获得的 DC 相同。
尤其是现在,在桌面合成时代,在我在 BeginPaint 之外获得的 DC 上绘画是否有效?
在绘画周期中,我似乎有两种方法可以让 DC 绘画:
dc = GetDC (hWnd);
BeginPaint(&paintStruct);
还有第三种方法,但它似乎是我开发的 Borland Delphi 的一个错误。
在WM_PAINT处理期间,Delphi 认为 wParam 是一个 DC,并继续在其上进行绘制。而 MSDN 说 WM_PAINT 消息的 wParam 未使用。
为什么
我的真正目标是尝试针对 HDC 保留持久 GDI+ 图形对象,以便我可以使用依赖于持久 DC 的 GDI+ 的一些性能更好的功能。
在 WM_PAINT 消息处理期间,我想将 GDI+ 图像绘制到画布上。下面的nieve版本很慢:
GDI 包含一个执行速度更快的位图,一个 CachedBitmap。但是不加思索地使用它不会带来性能优势:
性能提升来自于创建 CachedBitmap 一次,因此程序初始化:
现在在油漆周期:
除了现在我相信只要应用程序正在运行,我在程序初始化后获得的 DC 将与我的窗口相同。这意味着它可以通过以下方式生存:
- 快速用户切换
- 组合启用/禁用
- 主题切换
- 主题禁用
我在 MSDN 中找不到任何东西可以保证只要窗口存在,相同的 DC 将用于特定窗口。
注意:我没有使用双缓冲,因为我想成为一名优秀的开发人员,并做正确的事。* 有时这意味着你的双缓冲是不好的。
javascript - 使用 Javascript/CSS 在 PNG 中绘制所有像素(不包括透明像素)?
我需要使用 Javascript/CSS 创建 PNG 的剪影。这可能吗?
我尝试了以下方法:使用绝对定位和 z-index 多次堆叠具有降低不透明度的 PNG。这不起作用。
不幸的是,我不能使用 PHP 或其他东西,然后是 Javascript 和 CSS。
我对叠加层等有了一些想法,但我不知道该怎么做。有小费吗?
更新:这只需要在 webkit 浏览器中工作,所以你可以带上你的 webkit 技巧!:)
multithreading - 如何使用qt在多线程中绘制内容?
我想使用 qt 在多线程应用程序中绘制内容。
qt 在主线程中运行。我有一个线程 B 来生成绘制任务并将任务发送到 qt 主线程。目前,我在线程 B 中调用“mywidget.update”,“mywidget.paintEvent(..)”将在主线程中触发。
我的问题是我无法通过使用方法更新将任何自己的数据传递给“mywidget.paintEvent(..)”。目前我使用队列来存储数据,我想绘画,并从paintEvent中读取它。但我必须同步这个队列。
有没有更好的办法?比如注册一个自己的绘画事件。如果有人发布简单的示例或一些链接,我们将不胜感激。
c++ - 为什么即使在调用 UpdateWindow() 之后绘制消息也会丢失?
我有一个具有以下 Windows 层次结构的应用程序:
当 W2 中发生某些事件时,我会调用UpdateWindow
:
OnPaint
W2的处理是这样的:
但有时油漆信息会在 W2 中丢失。虽然UpdateWindow
被调用,但没有相应的OnPaint
() 被调用。
如果我WS_EX_TRANSPARENT
向 W1(W2 的父级)添加一个属性,那么总是会收到 @W2 的绘制消息。
但是添加WS_EX_TRANSPARENT
标志的问题是当我调整窗口 W1 的大小时它会产生很多闪烁。
我的问题是: 1. W2 有什么问题导致 Paint 消息丢失?2.为什么添加WS_EX_TRANSPARENT
解决了Paint问题。3. 使用flag如何解决闪烁问题。
谢谢,
java - 如何在 CLONE JPanel 中绘制()?
任何人都知道如何在克隆 JPanel 中重新绘制。我正在使用 CLONE,所以我可以 REPAINT() 一个,另一个会自动执行相同的操作。
如果我在原始面板或克隆面板中移动鼠标,我的代码只会绘制原始 JPanel,
但是如果我在克隆面板中移动鼠标,这个 jpanel 不会绘制。
提前致谢
代码:
qt - 如何在 QT 中获取按钮的绘制事件
我是 QT 的新手,我尝试了很多关于如何在 QT 中获取按钮绘制事件的示例。我没有办法做到这一点。
如何在 QT 中设置按钮的代表?如何获取按钮的绘制事件?
我读了很多文章,上面说我们可以得到按钮的绘制事件,我们也可以自定义。但我没有得到如何获得绘画事件的代码..
我尝试做这个示例,通过子分类我仍然没有得到事件。请告诉我哪里错了
我仍然无法获得这些事件。
请帮帮我。
谢谢
java - Add transparent JPanel upon AWT Component to paint on
I've got a Problem: In my Java application I've got an AWT Component (cannot change that one) that streams and shows an avi-file. Now I want to draw upon this movie and thought about putting a transparent JPanel above it and draw on that one.
This does not work since I either see the avi-stream or the drawn lines but not both.
I read somewhere that AWT does not support transparency of components - but the panel is a JPanel which is able to do so.
Can someone please help me with this one - thanks in advance.