如何在Java中使我的WritableRaster和像素化更大?

时间:2017-11-13 13:39:45

标签: java image bufferedimage raster

我有一个带有nrows,ncols等的txt文件和ex高程值作为我们应该制作地图图像的数字。

我有代码(有效),但我的问题是每个像素只有一个像素大,它们实际上也有一个已定义的单元格(10m)。当代码运行时,我得到了最小的灰度图,我希望它至少是10x10厘米的大图像,所以我可以看看发生了什么,但我不知道在哪里设置它请帮忙。已经在寻找调整大小等方法,但没有人真正适合我,那么setpixels解决方案呢?

<svg class="codewars" width="320" height="320">
  <defs>
      <path id="curve" d="M150 150 A 75 75 0 1 0 270 200" stroke-width="4" fill="none"/>
  </defs>
  <use href="#curve"/>
  <use href="#curve" transform="rotate(60, 150, 150)"/>
  <use href="#curve" transform="rotate(120, 150, 150)"/>
  <use href="#curve" transform="rotate(180, 150, 150)"/>
  <use href="#curve" transform="rotate(240, 150, 150)"/>
  <use href="#curve" transform="rotate(300, 150, 150)"/>
</svg>

这将返回一个2x2mm大的图像,values是一个包含所有高程数据的双精度数组。这是我的第一个java课程,我想要简单的解决方案。

1 个答案:

答案 0 :(得分:0)

最简单的解决方案是使用getScaledInstance方法 并使用生成的图像创建ImageIcon

Image scaledImage = image.getScaledInstance(200 * nRows, 200 * nCols, Image.SCALE_DEFAULT);
ImageIcon ii = new ImageIcon(scaledImage);