我试图在我的面板上画一些矩形,然后让它们掉下来,但是因为我的程序需要重新绘制背景和每一个矩形,每当它循环时,fps就会在我添加大量的矩形时丢弃很多。
这是我绘制所有矩形的代码:
frameGraphics.FillRectangles(Red, rectlist.ToArray());
还有别的办法让这件事更快吗?因为rectlist.toarray()包含大约400-500个矩形。
我用的是winforms
Graphics g = Canvas.CreateGraphics(); where canvas is my panel.
Bitmap frame
所以我试着用Createjs制作一个矩形大小的动画。我发现有两种方法可以创建矩形。以下任一项:
var rectangle = new createjs.Rectangle(0,0,100,100);
或
var rectangle = createjs.Shape();
rectangle.graphics.beginFill("000000").drawRect(x,y,w,h);
当我在第一次调用时将它添加到舞台上时,它没有添加。但是,我似乎能够使用rectangle.width和rectangle.height访问矩形的高度和宽度。然而,在第二次调用时,我没有这种控制。
在一个从BorderContainer继承的Flex组件中,我重写了updateDisplayList函数来绘制一个rect:
override protected function updateDisplayList(unscaledWidth : Number, unscaledHeight : Number) : void
{
this.graphics.clear();
super.updateDisplayList(unscaledWidth, unscaledHeight); // If ommited the rect is shown properly
简而言之,我正在尝试找到一种更快的方法来绘制来自串行输入的实时数据。数据看起来像一个坐标(x,y),每秒大约有40个。流将数据存储在一个数组中,使用x作为索引,将y设置为它的值。这一部分正在进行线程处理。虽然流可以立即读取数据,但pyqtgraph库无法跟上这种速度。 下面是我绘制数据的代码部分。distances和theta变量是具有6400个索引的数组。它们被转换成极值,并在每次迭代中绘制出来。我在那里添加了一个延迟,只是为了保持它的实时性,尽管这只是一个临时的解决方案。 while True:
x = distances * np.cos(theta)
y = dist
我正试图在Visual 2015中创建一个小型油漆应用程序。我的项目属于Windows窗体应用程序类别。我有以下问题:
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
if (a == 1)
{
if (r == 1 || el == 1)
{
int x = Math.Min(inX, e.X);
int y = Math.Min(inY, e.Y);