我有一個應用程序捕獲屏幕截圖並從捕獲的圖像創建視頻。但問題是,當視頻生成時,生成的視頻中的顏色非常粉紅。我認爲這是因爲我正在使用BufferedImage.TYPE_3BYTE_BGR類型操縱捕獲的圖像以顯示遊標。有人能告訴我如何解決這個問題,我想讓視頻的顏色與屏幕的實際顏色相同。BufferedImage顏色變化
用於捕捉我做的畫面如下:
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;
請告訴我如何與顏色相同,實際得到的圖像屏幕上的顏色。
謝謝。
另請參閱['RescaleOp'](http://stackoverflow.com/questions/5838842/java-lang-illegalargumentexception-number-of-scaling-constants-does-not-equal-th/5839425#5839425)。 – trashgod 2011-05-25 11:01:58
請參閱['convertToCompatible()'](http://groups.google.com/group/comp.lang.java.help/msg/bf9c8aa1e05d9f24)。 – trashgod 2011-12-24 16:56:58