Java Graphics2D流媒体?

Java Graphics2D流媒体?,java,streaming,video-streaming,graphics2d,Java,Streaming,Video Streaming,Graphics2d,java中有没有一种方法可以使用Graphics2D API在远程java进程的屏幕上绘制? 任何流式和反序列化绘画指令的API 或者我必须使用我自己的“api调用”序列化/反序列化机制?这实际上取决于您处理的媒体类型。如果您正在播放视频,您使用的编解码器可能是API,但您需要四处搜索才能找到。Graphics2D实际上是用于更原始的绘制操作,例如绘制形状、渲染文本和将图像数据从一个地方复制到另一个地方 如果您正在编写自己的流式算法,那么它可以简单到定义一个PaintEvent类来完成您需要的任

java中有没有一种方法可以使用Graphics2D API在远程java进程的屏幕上绘制? 任何流式和反序列化绘画指令的API


或者我必须使用我自己的“api调用”序列化/反序列化机制?

这实际上取决于您处理的媒体类型。如果您正在播放视频,您使用的编解码器可能是API,但您需要四处搜索才能找到。Graphics2D实际上是用于更原始的绘制操作,例如绘制形状、渲染文本和将图像数据从一个地方复制到另一个地方

如果您正在编写自己的流式算法,那么它可以简单到定义一个
PaintEvent
类来完成您需要的任务。
PaintEvent
类的思想是,它包含如何操作的指令。例如,如果您在远程系统上使用radio 50绘制一个圆圈,那么,与通过网络传输像素数据相比,在网络上传输一条基本上是“绘制半径为50的圆圈”的消息,并让客户端在其一侧渲染,效率要高得多

我认为一个PaintEvent类应该是这样的:

public class PaintEvent {
  public static final int OPER_DRAW_CIRCLE = 0;
  public static final int OPER_DRAW_RECT   = 1;
  public static final int OPER_DRAW_TEXT   = 2;
  ...etc...

  int paintOperationID;
  int[] paintDetails;           // where 'paintDetails' contains data such as a circle's radius, a rectangle's dimensions, the (x, y) location where to render text, etc.
  java.awt.Color renderColor;
  String text;

  public PaintEvent(int paintOperationID, int[] paintDetails, Color renderColor, String text) {
     ...
  }

}
因此,根据
paintOperationID
是什么,它将以不同的方式处理
paintDetails
中的数据。除非是
OPER\u DRAW\u TEXT
操作,否则
TEXT
字段将被忽略


无论如何,这是一种方法。然后,您只需围绕这一点设计一个通信协议,将数据从一个地方传输到另一个地方。

谢谢,如果没有其他解决方案,我会想到这种方法。这个问题的解决方案非常简单,我认为任何人都已经准备好使用它了——Graphics2d代理、IO/流媒体、消息处理程序,连接到另一个Graphics2d。但似乎我应该自己实现消息处理程序——这是我的建议。这不会花很长时间,而且我怀疑如果有其他人做了,他们是否会发布。Java2D并不是很多2D图形的常用库。从此,Java中的2D图形变得非常专业化(即游戏图形),并拥有专用于其所服务的应用程序空间的库。