Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从一个设备到另一个设备的表面拉伸角度_C#_Directx_Direct3d - Fatal编程技术网

C# 从一个设备到另一个设备的表面拉伸角度

C# 从一个设备到另一个设备的表面拉伸角度,c#,directx,direct3d,C#,Directx,Direct3d,是否可以使用在一个设备上创建的曲面绘制到另一个设备上创建的曲面?它是为两个不同控件创建的两个设备 我一直收到一个无效的呼叫例外。两个曲面都是渲染目标,具有相同的格式,并放置在默认池中 我想问题在于这两种不同的装置?如何复制此曲面 更新: 通过使用和使用从另一个表面读写,我取得了一些成功。我说的是一些成功,因为我注意到移动的东西是可见的,但我仍然需要确定要读/写多少字节等等,哪个矩形…我认为这是不可能的。在继续实验之后,我能够复制一个有效的表面,但是除了下面的代码之外,还有很多额外的工作要做。这只

是否可以使用在一个设备上创建的曲面绘制到另一个设备上创建的曲面?它是为两个不同控件创建的两个设备

我一直收到一个无效的呼叫例外。两个曲面都是渲染目标,具有相同的格式,并放置在默认池中

我想问题在于这两种不同的装置?如何复制此曲面

更新:


通过使用和使用从另一个表面读写,我取得了一些成功。我说的是一些成功,因为我注意到移动的东西是可见的,但我仍然需要确定要读/写多少字节等等,哪个矩形…

我认为这是不可能的。在继续实验之后,我能够复制一个有效的表面,但是除了下面的代码之外,还有很多额外的工作要做。这只是真实的副本

byte[] data = new byte[surfaceByteCount];
GraphicsStream sourceStream = sourceSurface.LockRectangle(area, LockFlags.ReadOnly);
sourceStream.Read(data, 0, data.Length);
sourceSurface.UnlockRectangle();

GraphicsStream targetStream = targetSurface.LockRectangle(area, LockFlags.Discard);
targetStream.Write(data, 0, data.Length);
targetSurface.UnlockRectangle();

device.Present();

那么,为什么不按照上面的方法复制到另一台设备上的临时目标,然后拉伸rect这个临时目标呢?@Goz:现在我测试了在一台设备上缩小比例,然后复制它。我想这两种方法都有效,这取决于你是放大还是缩小,一种可能更适合限制CPU需要复制的字节数。非常正确。尽管值得记住的是,一个设备可能是硬件加速的,而另一个设备不是。。。