图像复制的问题
想做个类似录音机的程序,上面有左移的波形、频谱图。开始时用SetPixel实现,但是速度太慢,加上内存锁定也慢,后来用Clone实现,速度提高了不少,但是又发现了新问题。
程序电脑不能上网,代码简介如下:
我是在picturebox上绘图,picturebox.image = bmpWaterfall。先把bmpWaterafll右边图像(除去最左边1列像素的图像)clone给bmpTemp,再picturebox.drawImage(bmpTemp, rc),即在picturebox上图像左移1像素,再更新最右边一列像素。
运行正常,速度快,CPU占用率1%以下。但是我当我调整picturebox大小时会发现,当它大过了一个临界值时,CPU占用率会突升到20-30%,不知道怎么回事。我拿以前用C++写的程序看了下,即使全屏了CPU占用率也不会上升多少,很奇怪。
用C#写是因为要给别人做个控件,以前用C++ Builder,别人不方便调用。
希望这方面有经验的朋友帮看下问题何在。