Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/257.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# 如何将图像打印到属于另一个Windows 8.1进程的画布上? 我有一个C++应用程序和一个Windows StaseCype应用程序,它们在一个套接字桥上互相通信。它们是两个单独的Windows 8.1可执行文件(单独的进程)。我想把C++应用程序的图像打印到属于C语言应用程序中的窗体控件的画布。_C#_C++_Canvas_Directx_Gdi - Fatal编程技术网

C# 如何将图像打印到属于另一个Windows 8.1进程的画布上? 我有一个C++应用程序和一个Windows StaseCype应用程序,它们在一个套接字桥上互相通信。它们是两个单独的Windows 8.1可执行文件(单独的进程)。我想把C++应用程序的图像打印到属于C语言应用程序中的窗体控件的画布。

C# 如何将图像打印到属于另一个Windows 8.1进程的画布上? 我有一个C++应用程序和一个Windows StaseCype应用程序,它们在一个套接字桥上互相通信。它们是两个单独的Windows 8.1可执行文件(单独的进程)。我想把C++应用程序的图像打印到属于C语言应用程序中的窗体控件的画布。,c#,c++,canvas,directx,gdi,C#,C++,Canvas,Directx,Gdi,我之所以想直接打印到属于C#app的画布上,而不是到处发送位图,是因为性能。我将要打印的图像是从连接的相机每秒50次输入的帧。因此,在每次套接字传输时,将图像从位图压缩到JPG,然后在C#端以另一种方式返回,这是我希望避免的性能损失 就使用共享内存区域而言,我过去使用过它们,但有一些奇怪的“小故障”我无法解决。此外,由于每次写入操作都会导致共享内存区域的备份页重复失效,该技术固有的大量软错误在任务管理器中看起来就像地狱 P>因为我控制了两个代码库,所以我很容易把C++程序的O/S级元素(句柄等

我之所以想直接打印到属于C#app的画布上,而不是到处发送位图,是因为性能。我将要打印的图像是从连接的相机每秒50次输入的帧。因此,在每次套接字传输时,将图像从位图压缩到JPG,然后在C#端以另一种方式返回,这是我希望避免的性能损失

就使用共享内存区域而言,我过去使用过它们,但有一些奇怪的“小故障”我无法解决。此外,由于每次写入操作都会导致共享内存区域的备份页重复失效,该技术固有的大量软错误在任务管理器中看起来就像地狱


<> P>因为我控制了两个代码库,所以我很容易把C++程序的O/S级元素(句柄等)传递给C++应用程序,以方便这个应用程序。有人能告诉我做这件事的一般技巧吗?如果有必要,我可以使用DirectX或类似的工具。但是我需要知道一般的技术,这样我就可以开始了。

将位图(未压缩)放入共享内存确实会容易得多。但即使是插座也不坏。杀死你的是完全无用的JPEG步骤。有损压缩成本很高,因为它需要仔细估计人眼看不到的内容。只需将位图直接传递到套接字上,不仅速度更快,图像质量也会更好。@m改变任何方法来阻止任务管理器中堆积的大量“软”页面错误,在对共享内存区域进行写入操作期间,使备份页不断失效?备份页是由页文件还是由物理文件支持?您是每秒分配50次新共享内存还是重用单个共享块?对于已经映射到进程中的页面,不应该有软错误。@MSalters我相信我使用了系统交换文件,因为它应该更有效。为什么不会出现软页面错误?这是操作系统用来识别已更改页面的技术。是的,但这只是第一次更改。映射最初是只读的,您对其进行写入,得到一个软页面错误,然后操作系统关闭只读位并将页面标记为“已更改”。如果它将页面写入存储器,则会执行相反的操作。但是如果重用同一个页面——这就是为什么我问你是否每秒创建50个映射——那么在第一个错误之后,页面将保持可写状态。当然,1 MB位图将导致250次故障,但不是每秒250*50次。