首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java Graphics2D流?

Java Graphics2D流?
EN

Stack Overflow用户
提问于 2011-09-20 02:09:04
回答 1查看 635关注 0票数 2

在java中有没有一种方法可以使用Graphics2D API在远程java进程的屏幕上绘图?是否有API来流式处理和反序列化绘制指令?

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-09-20 02:24:18

这真的取决于你面对的是哪种媒体。如果你正在播放视频,你使用的编解码器可能有API来做这件事,但是你需要四处搜索才能找到答案。Graphics2D实际上用于更原始的绘制操作,例如绘制形状、呈现文本和从一个地方到另一个地方复制图像数据。

如果您正在编写自己的流算法,那么可以像定义一个执行所需操作的PaintEvent类一样简单。PaintEvent类的想法是,它包含执行什么操作的指令。例如,如果你用RADI50在远程系统上画了一个圆,而不是通过网络传输像素数据,那么在网络上传输一条消息,基本上就是“画一个半径为50的圆”,并让客户端在他们这边渲染它,这样的效率要高得多。

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

代码语言:javascript
复制
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_DRAW_TEXT操作,否则text字段将被忽略。

无论如何,这是一种方法。然后,您只需围绕此设计一个通信协议,以便将数据从一个位置传送到另一个位置。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7475326

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档