[英]How to clone Image?
我有一個圖像。 我需要制作它的精確副本並將其保存到 BufferedImage,但沒有 Image.clone()。 這個東西應該在一個計算循環內,所以它應該非常快,沒有逐像素復制。 執行此操作的最佳性能方法是什么?
您可以繪制緩沖圖像,因此創建一個空白的bufferedImage ,從中創建圖形上下文,然后將原始圖像繪制到它。
BufferedImage copyOfImage =
new BufferedImage(widthOfImage, heightOfImage, BufferedImage.TYPE_INT_RGB);
Graphics g = copyOfImage.createGraphics();
g.drawImage(originalImage, 0, 0, null);
還有一種方法:
BufferedImage copyOfImage = image.getSubimage(0, 0, image.getWidth, image.getHeight);
Image clone = original.getScaledInstance(original.getWidth(), -1, Image.SCALE_DEFAULT);
這可能不是很漂亮,但顧名思義, getScaledInstance
返回原始Image
對象的實例。 通常僅用於調整大小。 -1
告訴方法保持縱橫比不變
您可以創建一個方法來返回要克隆的圖像的子圖像。
如:
public static BufferedImage clone(BufferedImage img)
{
return img.getSubimage(img.getMinX(), img.getMinY(), img.getWidth(), img.getHeight());
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.