Processing 在处理过程中对BuffereImage应用tint()

Processing 在处理过程中对BuffereImage应用tint(),processing,Processing,我用Robot类抓取可视屏幕内容,然后尝试将其设置为半透明度。下面是“着色”命令的参考,如下所示: screenshot = robot.createScreenCapture(new Rectangle(0,42,scrdim.width,36)); shot = new PImage(screenshot); shot.resize(32,1); tint(255,127); image(shot,5,5,64-5,4); 但只要我使用“着色”命令,图像就会完全消失,而不管实际的aplha

我用Robot类抓取可视屏幕内容,然后尝试将其设置为半透明度。下面是“着色”命令的参考,如下所示:

screenshot = robot.createScreenCapture(new Rectangle(0,42,scrdim.width,36));
shot = new PImage(screenshot);
shot.resize(32,1);
tint(255,127);
image(shot,5,5,64-5,4);

但只要我使用“着色”命令,图像就会完全消失,而不管实际的aplha参数值如何。是因为我在处理一个缓冲区映像吗?我一直在想如何直接设置它的alpha值,但运气不好。

您的透明度目前为100%。 “淡色”的语法为:

色调(颜色、透明度)

只需反转色调即可获得50%的透明度:

tint(255, 127); 

很好,我在问题中纠正了这一点。我一定是在发帖前做实验时搞砸了。但可悲的是,这并不是导致图像消失的原因。仍然是一样的效果。我只是想知道,当您使用不同的PImage,而不是从robot类转换过来时,它会起作用吗?-->调整大小的比例似乎非常苛刻,32:1。我知道这不是一个好的答案,但你也可以不用机器人来获得屏幕:之后只需编辑出你想要的部分。如果您只想捕获处理窗口,那么处理有一个内置函数:实际上,这是一个很好的答案。我不知道Processing有一门截屏课。tint()在返回的PImages上工作得非常好,而且性能似乎也很好。谢谢为了澄清我在做什么:一个带有时尚风格的Ambilight克隆。我使用缩放来获得每个LED“像素”更多的屏幕像素,以减少失真。但我仍然想考虑更多的屏幕区域,这就是为什么我要覆盖多个屏幕截图的原因。