2011-11-10 20 views
1

ALT + printscreenと同様にキャプチャ画像の品質とサイズを試しています。誰も私を同じように助けてくれますか?alt + print画面に似た画像をキャプチャするにはどうすればいいですか?

Iキャプチャするために、次のコードを試してみました:

dimScreenSize = Toolkit.getDefaultToolkit().getScreenSize(); 
rectScreenSize = new Rectangle (dimScreenSize); 
BufferedImage bufimg=robot.createScreenCapture (rectScreenSize); 

Iが特定の場所に保管するために使用され、再びiは画像を取得しthumbnailsを使用してサイズ変更画像をキャプチャした後。

loc =d_path+"\\a"+m+"a"+".jpg"; 
Thumbnails.of(new File(loc)).size(800, 800).outputQuality(1f).toFile(new File(loc)); 

しかし、画質が悪いです。私を助けてください、他に何かありますか?

+0

'Thumbnails'は何ですか? –

答えて

1

画質が満足できない場合は、pngなどの別の形式を試すことができますか?

import java.awt.Rectangle; 
import java.awt.Robot; 
import java.awt.Toolkit; 
import java.awt.image.BufferedImage; 
import java.io.File; 

import javax.imageio.ImageIO; 

public class Capture 
{ 
    public static void main(String[] args) throws Exception 
    { 
     Robot robot = new Robot(); 

     BufferedImage screenShot = robot.createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize())); 
     ImageIO.write(screenShot, "png", new File("screenShot.png")); 
    } 
} 
+0

改善されていません。 – jcrshankar

1
import java.awt.AWTException; 
import java.awt.Robot; 
import java.awt.Toolkit; 
import java.awt.datatransfer.DataFlavor; 
import java.awt.datatransfer.Transferable; 
import java.awt.datatransfer.UnsupportedFlavorException; 
import java.awt.event.KeyEvent; 
import java.awt.image.RenderedImage; 
import java.io.File; 
import java.io.IOException; 

import javax.imageio.ImageIO; 

    public class AltPrintScreen { 

     public static void main(String[] args) throws IOException, UnsupportedFlavorException, AWTException { 

      Robot robot = new Robot(); 

      robot.keyPress(KeyEvent.VK_ALT); 
      robot.keyPress(KeyEvent.VK_PRINTSCREEN); 
      robot.keyRelease(KeyEvent.VK_PRINTSCREEN); 
      robot.keyRelease(KeyEvent.VK_ALT); 

      try { 
       Thread.sleep(1000 * 2); 
      } catch (InterruptedException e) { 
       throw new RuntimeException(e); 
      } 

      Transferable t = Toolkit.getDefaultToolkit().getSystemClipboard().getContents(null); 
      RenderedImage image = (RenderedImage)t.getTransferData(DataFlavor.imageFlavor); 

      boolean isSuccess = ImageIO.write(image, "png", new File("altScreen.png")); 

      System.out.println(isSuccess); 
     } 
    } 
関連する問題