2016-03-24 7 views
0

Input imageКак увеличить размер (высоту и ширину) и ДОИ в формате TIFF изображения

Output Image

Я сливаясь группу TIFF изображений в одно и то же время хотите изменить/переранжировать окончательное изображение tiff в java. Есть ли способ сделать это . Ниже была моя логика слияния. Я успешно объединяюсь, но не могу увеличить высоту и ширину.

ByteArrayOutputStream baos=new ByteArrayOutputStream(); 
      //ImageEncoder encoder = ImageCodec.createImageEncoder("tiff", baos, params); 
      List<BufferedImage> imageList = new ArrayList<BufferedImage>(); 
      for (int i = 1; i < images.size(); i++) 
      { 
         imageList.add(resizedImage); 
      } 
      params.setCompression(params.COMPRESSION_NONE); 

      params.setExtraImages(imageList.iterator()); 
      TIFFField[] extras = new TIFFField[2]; 
      extras[0] = new TIFFField(282, TIFFField.TIFF_RATIONAL, 1, (Object) new long[][] { { (long) 300, (long) 1 }, 
        { (long) 0, (long) 0 } }); 
      extras[1] = new TIFFField(283, TIFFField.TIFF_RATIONAL, 1, (Object) new long[][] { { (long) 300, (long) 1 }, 
        { (long) 0, (long) 0 } }); 

      params.setExtraFields(extras); 
      ImageEncoder encoder = ImageCodec.createImageEncoder("tiff", baos, params); 
      encoder.encode(images.get(0)); 

BAOS делает держит байты для конечного изображения, которое я конвертирование в размолвку

Заключительных этапов создания объединенного изображения формата

FileOutputStream fos = new FileOutputStream (new File(inputDir + "\\combined.tiff")); 
baos.writeTo(fos); 

Но как увеличить высоту и ширину , Пожалуйста, обратите внимание, что я сделал все, что в коде Java и все в то время выполнения

+0

Что вы имеете в виду? сделать все эти bufferedimages меньше, прежде чем добавлять M ?? это глупый вопрос - основанный на том, что вы сделали – gpasch

+0

@gpasch: Несколько загруженных tiff и я объединил их в один большой файл tiff. Все загруженные tiff, имеющие размеры 992 X 416 и DPI, составляли 300. Конечный результат, который был объединен с tiff, должен иметь около 2550 X 3300 размеров, и это то, что я пытаюсь. Мне удастся объединить все загруженные файлы tiff в один, а также увеличить DPI до 300, но застрял с размерами. – User146378

+1

Увеличение размера уменьшает DPI. Вы не можете создавать точки, которых нет, хотя вы можете интерполировать. Но истинный ДОИ не может быть увеличен. Ваш вопрос не имеет смысла. – EJP

ответ

0

Я дам ему попробовать, так как я не понимаю, что вы делаете с ссорой:

 List<BufferedImage> imageList = new ArrayList<BufferedImage>(); 
     for (int i = 0; i < images.size(); i++) 
     { 
      BufferedImage b=new BufferedImage(1500, 1500, BufferedImage.TYPE_INT_RGB);  
      Graphics g=b.getGraphics(); 
      g.drawImage(images.get(i), 0, 0, b.getWidth(), b.getHeight(), null); 
      imageList.add(b); 
     } 

Это преобразует изображения из изображений списка в размер 1500, 1500 и сохраняет их в списке imageList, который затем будет использоваться для создания tiff.

 Смежные вопросы

  • Нет связанных вопросов^_^