【发布时间】:2011-05-25 10:26:12
【问题描述】:
我正在开发一个应用程序,它可以捕获屏幕截图并从捕获的图像创建视频。但问题是,当生成视频时,生成的视频中的颜色非常偏粉色。我认为这是因为我正在使用 BufferedImage.TYPE_3BYTE_BGR 类型操纵捕获的图像以显示光标。谁能告诉我如何解决这个问题,我希望视频的颜色与屏幕的实际颜色相同。
为了捕获屏幕图像,我正在执行以下操作:
Robot robot = new Robot();
Rectangle captureSize = new Rectangle(screenBounds);
return robot.createScreenCapture(captureSize);
为了处理图像,我的操作如下:
image = new BufferedImage(sourceImage.getWidth(), sourceImage.getHeight(), BufferedImage.TYPE_3BYTE_BGR);
if (true) {
int x = MouseInfo.getPointerInfo().getLocation().x - 25;
int y = MouseInfo.getPointerInfo().getLocation().y - 37;
Graphics2D graphics2D = sourceImage.createGraphics();`enter code here`
graphics2D.drawImage(SimpleWebBrowserExample.m_MouseIcon, x, y, 48, 48, null);
}
image.getGraphics().drawImage(sourceImage, 0, 0, null);
return image;
请告诉我如何获得与屏幕上实际颜色相同颜色的图像。
谢谢。
【问题讨论】:
标签: java