我有WPF画布。我需要绘制不同颜色的50万像素。我试图逐个像素地绘制,但速度非常慢。所以我决定创建Image并绘制它。我不知道,如果这是最好的方法,那么如果你知道更好的方式,请告诉我。
所以我的问题是,如何创建和绘制图像到画布?我搜索过,但我找不到任何东西。
我有二维颜色数组,我需要绘制它们,可能是通过图像,所以我该怎么做?
谢谢,Soptik
编辑:现在,我使用此代码,但绘制甚至100 * 100像素需要几秒钟。
for(int i = 0; i < w; i++)
{
for(int j = 0; j < h; j++)
{
Draw(i, j, Brushes.Aqua);
}
...
private void Draw(int x, int y, SolidColorBrush b)
{
Line l = new Line();
l.Stroke = b;
l.X1 = x;
l.Y1 = y;
l.X2 = x + 1;
l.Y2 = y + 1;
l.StrokeThickness = 1;
canvas.Children.Add(l);
}
答案 0 :(得分:1)
使用您当前的方法并不是很糟糕。&#34;由于您拥有的2d阵列的大小,它可能会很慢,但循环通过两个for loops
对于此过程是正常的。一些可能的解决方案可能是将rect
作为Canvas
加载到j("#yt_left #layered-navigation .block.block-layered-nav .block-content").toggle();
上以显示正在处理的图像,但如果这不是必要的,我将研究如何处理像素数据并可能处理超过一次。