问题标签 [canvas]

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 投票
2 回答
1215 浏览

java - 可以在 Java 中绘制 YCbCr 吗?

我目前有一个项目,使用 Java,它使用 YCbCr 颜色空间中固有的文件类型。其中,在幕后(我必须编写代码)发生了很多数字运算,以从 YCbCr 值转换为 RGB。这是按像素、每帧、每秒 25 帧完成的……

该项目必须完全用软件编写,并且必须独立于平台。

如果我可以跳过这一步,并且仍然从数组创建图像,但是采用 YCbCr 格式,我可以节省很多工作......

提前致谢。

0 投票
1 回答
2769 浏览

apache-flex - Flex 中的画布、滚动和特殊用例

我有一个可变宽度和高度的画布,最大为2K*2K

此画布的当前高度和宽度因用户屏幕大小而异。通常小于 2K*2K。

如果用户在画布内移动元素(如子 UIcontainer 等自由移动元素)的位置大于当前用户可用的 H 和 W,则应出现滚动条(它们确实如此,这很好)。

但是我怎样才能限制滚动?

有没有办法给 vscrolling 和 hscrolling 一个最大值?我应该制定自己的政策吗?

谢谢。

0 投票
3 回答
8406 浏览

wpf - 在 WPF 画布上选择一个对象?

我有一个 WPF 画布,上面有一些椭圆对象(显示为圆圈)。每个圆圈都来自一个集合类实例,它实际上是一个自定义孔模式类。每个图案都有一定数量的圆圈,然后使用下面的代码对集合进行迭代,将每个圆圈添加到画布中。

因此,画布上填充了一堆圆圈,每个圆圈都属于某个模式实例。你可以在这里看到截图:http: //twitpic.com/1f2ci/full

现在我想添加在画布上单击一个圆圈的功能,并能够确定它所属的集合,这样我就可以对该圆圈所属的选定图案做更多的工作。

0 投票
4 回答
1878 浏览

c# - 画布上的 MouseLeftButtonDown 需要太高的精度

我正在响应添加到 WPF 画布的元素上的 MouseLeftButtonDown 事件。单击时一切正常(即事件处理程序正确触发),但它需要鼠标指针的过多精度。你必须完美地站在圈子的顶端才能让它发挥作用。我需要它更宽容一点;也许至少 1 或 2 个像素可以原谅。画布上的元素都是漂亮的大圆圈(大约屏幕上四分之一的大小),所以圆圈本身并不算小,但每个的StrokeWidth都是1,所以是一条细线。

你可以在这里看到截图:http: //twitpic.com/1f2ci/full

大多数图形应用程序对鼠标的选择并不那么挑剔,所以我想给用户一种熟悉的体验。

我怎样才能让它更宽容一点。

0 投票
1 回答
14697 浏览

javascript - 在 Javascript 中使用画布创建图像

我似乎遇到了一条错误消息,表明我很难调试。我想要做的是 用画布动态创建一个图像,比如这个( http://www.webreference.com/programming/javascript/mk/column3/creating/cp_mini_gradient_details.png )。

我收到的错误消息是:

我用谷歌搜索,似乎有很多原因导致此错误消息,但我似乎找不到任何与画布相关的具体内容。

这是我的代码:

奇怪的是,错误只发生在循环的第二次迭代期间。

0 投票
2 回答
1536 浏览

c# - WPF:翻译(移动)画布和监控每一步的最佳(可靠)方式

我曾尝试翻译(移动)画布,但我遇到了计时器问题。

我尝试了两种不同的方法:

第一种方法是BeginAnimation函数,第二种方法是DispatcherTimer刻度,但它们都非常不可靠。

我需要监控翻译的每一步。使用我尝试的第一种方法 ( BeginAnimation),我在Changed事件中执行了碰撞检测逻辑,而使用第二种方法 ( DispatcherTimer),我在Tick计时器事件中执行了碰撞检测逻辑。

问题是两者都非常不可靠。从某种意义上说,在我的碰撞检测逻辑中,画布应该在其属性 <= 0 时停止平移TranslateTransformY从技术上讲,如果它正在监视每一步,它应该每次都停在 0 处),但是我尝试了两种方法,它停止时会发生变化。例如,有时它停在 0 处,有时停在 -1、-2、-3 处,有时甚至停在 -4 处

那么这些差异是怎么回事?为什么它不像它应该的那样监控每一步?

我可以做些什么来为这个画布设置动画并真正监控每一步?我的意思是每一步......它移动的每一个像素

0 投票
2 回答
2539 浏览

wpf - WPF - 自定义画布上的用户控件大小

我有一个自定义画布,可以在上面放置控件、移动控件和调整其大小。我需要能够至少从预先确定的大小开始,然后允许重新调整大小。

我的问题是我有一个似乎没有调整大小的用户控件。我在用户控件上设置了高度和宽度(在放置时工作)。但是当控件在画布上调整大小时,视觉大小保持不变(大小手柄正在改变)。当控件调整大小时,我可以看到 Height 属性发生变化(usercontrol.height)。但同样,控件的外观保持相同的大小。

我认为用户控件上的内部容器应该绑定到 usercontrol.height ,但这似乎没有帮助。(或者也许我没有绑定权)。

在同一个画布上,例如,如果放置的控件是 Image 控件,我可以在放置时设置显式高度,并且所有内容都可以调整大小。所以它似乎是 UserControl 的事情。

那么我需要对 UserControls 做些什么来调整视觉效果吗?我应该使用明确的高度和宽度来开始吗?

谢谢你的帮助。

0 投票
1 回答
581 浏览

javascript - 绘图应用程序缩放概念

我正在画布上构建一个应用程序,它由一个简单的 DOM 组成,每次鼠标移动都会重绘(是的,这是必要的),对于性能问题,并不是每个部分都只重绘需要的部分。

该应用程序运行良好,但我想添加缩放功能,我看到它的方式,它可以通过三种不同的方式完成:

1 - 每次用户放大或缩小时,每个 DOM 元素都会重新计算(位置和大小) - 它可能存在精度问题并且它不是一个很好的抽象

2 - 画布具有分辨率属性(即,当用户缩小分辨率时,分辨率可能从 1 变为 .75) - 每次重绘时都需要进行计算

3 - 使用内置的 translate() 和 scale() 方法 - 可能是最优雅和最快的解决方案,但是它根本不直观,可能很难理解我或其他人稍后是如何完成的(这些方法适用于整个画布,首先您将在画布上进行翻译和缩放,然后您绘制的所有内容都会“神奇地”翻译和缩放)

哪一个是最好的,或者还有其他我没有想到的可能性?

0 投票
2 回答
5910 浏览

apache-flex - 在 flex 画布上绘制矩形是否有比

要从鼠标向下绘制“选择矩形”,鼠标移动然后在鼠标向上将其删除我目前执行以下操作:

我的板是画布,在鼠标按下时我创建了一个新的 UIcontainer 我设置了他的边框。我更新了与鼠标移动位置相关的宽度和高度,在鼠标向上时我删除了这个子 UIcontainer。

我是否必须为这种任务创建一个新组件,或者在 flex 中有更好(更轻的方式)?

谢谢,

0 投票
1 回答
1052 浏览

wpf - Databinding items to Canvas

I have a userControl that contains a canvas. I would like to databind items to it so they are positioned automagically.

Here's a great example that shows how to databind items on a canvas, but I want it to work on my specific userControl. (I believe it's not possible to specify a userControl in a ItemsPanelTemplate)