如何在java中复制图像文件的高度

如何在java中复制图像文件的高度,java,Java,我有一个图像,并试图在其下创建相同的图像(复制它)。 这意味着如果我有100*100大小的照片,我想把它的大小改为 100*200然后我把它写在另一个图像文件中。 这里的问题是,我不知道如何使输出文件的高度 正是我想写的尺寸。 请帮我处理这个情况! 非常感谢。 我试图复制的代码如下: public void duplicateImage() throws IOException { for (int i = 0; i < width; i++) { for (int j = 0;

我有一个图像,并试图在其下创建相同的图像(复制它)。 这意味着如果我有100*100大小的照片,我想把它的大小改为 100*200然后我把它写在另一个图像文件中。 这里的问题是,我不知道如何使输出文件的高度 正是我想写的尺寸。 请帮我处理这个情况! 非常感谢。 我试图复制的代码如下:

public void duplicateImage() throws IOException {


for (int i = 0; i < width; i++) {
   for (int j = 0; j < height; j++) {
    int pixel = image.getRGB(i, j);
    int alpha = (pixel & 0x0000ff00) >> 24;
    int red = (pixel & 0x00ff0000) >> 16;
    int green = (pixel & 0x0000ff00) >> 8;
    int blue = (pixel & 0x000000ff);
    int mid = (red + green + blue) / 3;
    red = blue = green = mid;
    int newPixel = alpha;
    newPixel = (newPixel << 8) + red;
    newPixel = (newPixel << 8) + green;
    newPixel = (newPixel << 8) + blue;
    image.setRGB(i, j, newPixel);
    image.setRGB(i+width,j+height,newPixel);
   }
   }
 }
public void duplicateImage()引发IOException{
对于(int i=0;i>24;
int red=(像素&0x00ff0000)>>16;
int绿色=(像素&0x0000ff00)>>8;
蓝色整数=(像素&0x000000ff);
int mid=(红色+绿色+蓝色)/3;
红色=蓝色=绿色=中间;
int newPixel=alpha;

newPixel=(newPixel我找到了一种使用BuffereImage更改照片大小的方法。 它很简单,我分享它,这样其他人也能理解它。 顺便说一句,这是一个很好的处理方法。 以下是我的答案:

    public void duplicateImage(File inFile,File outFile) throws IOException {
      BufferedImage img = new BufferedImage(width,2*height,BufferedImage.TYPE_3BYTE_BGR);
      BufferedImage image = ImageIO.read(inFile)
      for (int i = 0; i < width; i++) {
       for (int j = 0; j < 2*height; j++) {
        int pixel = image.getRGB(i, j%height);
        img.setRGB(i, j, pixel);
       }
       }
       ImageIO.write(img,"jpg",outFile);
     }
public void duplicateImage(文件填充、文件输出)引发IOException{
BuffereImage img=新的BuffereImage(宽度,2*高度,BuffereImage.TYPE_3BYTE_BGR);
BuffereImage image=ImageIO.read(内嵌)
对于(int i=0;i
尝试使用GetScaleInstance()方法。谢谢!我也尝试过了,欢迎使用