Java - 使用机器人 class 截取的屏幕截图具有不同的字节数

Java - Screenshots taken with robot class have different byte amounts

当我使用机器人 class 获取我的屏幕的多个屏幕截图,然后将缓冲图像转换为字节数组时,字节数组的长度各不相同,有时相差很多。这应该发生吗?感觉每张图片的字节数应该是一样的

作为背景,我正在尝试加速一个简单的屏幕共享程序。现在我将每张图片作为一个完整的字节数组发送,它工作正常(但速度很慢)。我想将每张图片都保存在一个缓冲区中,然后只发送从最后一张图片到下一张图片的字节数组中的更改和索引,减少通过套接字发送的数据。这是行不通的,因为每个屏幕截图都有不同大小的字节数组。

您的屏幕截图大小不同,因为它们的复杂程度不同。

你的问题没有包含很多细节,所以我假设你使用的屏幕截图例程 returns PNG 图片。

PNG 格式不仅仅是一组(红色、绿色、蓝色)数据,图像的每个像素都有一个条目。相反,该格式压缩图像数据。这意味着(例如)只有一种单一颜色的图像会比每个像素都是不同颜色的图像小得多。