问题标签 [drawing]
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.
visual-c++ - CDC文本绘制问题
我正在尝试使用 CDC::ExtTextOut() 将文本绘制到设备上下文(CDC),但我得到了垃圾输出。绘制的输出文本是奇怪的字体。
传递给我的 CDC 指针源自 unicode 构建 ActiveX 控件 (.ocx)。文本绘制代码驻留在 ANSI 构建 DLL 中。
此设置中似乎存在某种不兼容性。
有没有人遇到过这种情况,你是如何解决的?
谢谢。
drawing - Photoshop撤消系统
这个问题可能适用于一般的绘图系统。我想知道如何在 PS 中实现撤消功能。程序是否在每次操作之前拍摄画布的快照?如果是这样,这不会导致巨大的内存需求吗?我已经研究了命令模式,但我不太明白这将如何应用于绘图。
问候,门诺
c# - GDI+ 离屏缓冲滚动
我正在使用 C# GDI+ 创建一个自定义控件。
快速解释...该控件将在屏幕上显示 500 像素,但可能包含 500000 像素的信息。因此,虽然我一次只显示 500 像素,但我显然需要在水平面(左右)滚动。棘手的部分是每个 500 像素的位图块需要一段时间(在 100 毫秒 - 1000 毫秒之间)来渲染。
所以我的计划是在内存中维护一个 1500px 的位图。即 500px 可见部分和 500px 可见区域的任一侧,并在用户滚动时异步绘制屏幕外部分。
我想要一些反馈、建议、批评或代码示例来帮助我实现这一目标。这看起来相当简单,但经过几次初步测试尝试后,它被证明比人们想象的要困难得多。
谢谢。
c# - 在图像上绘制叠加层
我有一个用户可以缩放/滚动的图像。我想在不同的图层上绘制一些矩形/圆圈(例如:为图片中识别的每个人的脸部绘制一个圆圈)。
矩形位置是相对于图像的。
如何创建这样的叠加层?
c# - GDI+:视觉选择指示器的 DrawReversible 替代方案?
我一直在寻找另一种在不使用和相关 XOR 方法的情况下为视觉对象(如选定的边缘、线条等)绘制选择指示符的替代方法。原因是不需要的异或“伪影”、不适用于位图的可逆性、无法控制实际视觉外观和速度缓慢。ControlPaint.DrawReversibleFrame
另一方面,如果用户决定取消选择一两个对象,我想避免重新绘制整个场景(实际上是地图),因为重新绘制可能会非常昂贵。
所以我能看到的唯一选择是直接在 a 上实现一些基本的绘图逻辑Bitmap
,但在像素更改之前存储像素的先前内容。然后(理论上)如果用户选择取消选择该边缘,我将能够重新应用选定边缘矩形的旧内容。
我的问题是您是否认为这是一个好主意,或者您是否看到我的问题的其他替代方案(在 GDI+ 内)?
提前致谢
iphone - 如何使用 iPhone SDK 清除圆角矩形外的角?
我正在尝试实现自定义视图。此视图应显示由灰色圆形矩形边框包围的图像。我可以让图像和边框正常显示,但是,由于边框有圆角,我需要一种方法来清除这些角,以便它们正确显示视图后面的任何内容。我怎样才能做到这一点?
似乎我可以使用CGContextClearRect
,但是我不必多次调用它,重建圆角之外的区域吗?这听起来过于复杂。
有没有更好的方法来创建这个视图?
这是我当前的代码:
streaming - 如何拦截高级 GDI 绘制命令?
我正在尝试制作一个允许远程访问其他应用程序(在不同机器上运行)的应用程序。这个想法是让用户透明地访问某些应用程序,我基本上有两个选择:
- 应用程序流
- 拦截绘图命令并在客户端重现它们
(当然,输入是从客户端重定向到服务器的)
我有一个带有应用程序流的工作版本,但我不知道如何通过挂钩 Win API 来做到这一点......
有任何想法吗 ?
objective-c - touchesMoved 和 drawRect 的问题
我有一个我似乎无法弄清楚的棘手错误,我认为它与 touchesMoved 的实现方式有关。
在 touchesMoved 中,我检查触摸的位置(if 语句),然后相应地在触摸点附近的 40 x 40 区域调用 setNeedsDisplayWithRect。在 DrawRect 中发生的情况是,如果之前有一个白色图像,则会放下一个黑色图像,反之亦然。在调用 setNeedsDisplayWithRect 的同时,我在布尔数组中设置了一个布尔变量,这样我就可以跟踪当前图像是什么,从而显示相反的图像。(其实我并不总是翻转图像...我看第一次触摸会做什么,比如从黑色切换到白色,然后在所有后续触摸上放置白色图像,所以有点像绘图或与图像一起删除)。
我的问题是布尔数组似乎与我放下的图像格格不入。只有当我在屏幕上快速拖动时才会发生这种情况。最终布尔数组和图像不再同步,即使我同时设置它们。知道是什么原因造成的,或者我能做些什么来解决它?
这是我的drawRect:
python - 使用 pygtk 和 glade 将 pixbuf 绘制到绘图区域
我正在尝试在 python 中创建一个 GTK 应用程序,我可以在其中将加载的图像绘制到单击它的屏幕上。我尝试这样做的方法是将图像加载到 pixbuf 文件中,然后将该 pixbuf 绘制到绘图区域。
主要代码行在这里:
这应该只是将 pixbuf 绘制到左上角的图像上,但除了白色图像之外什么都没有显示。我已经通过将 pixbuf 放入 gtk 图像来测试它是否可以加载。我在这里做错了什么?