【发布时间】:2020-06-03 00:27:15
【问题描述】:
我首先创建一个值为 2 的二维数组。然后将数组右下角的一些值设置为 5
var map = Array.fill(5, 10)(2);
map(4)(9) = 5
map(3)(9) = 5
map(4)(8) = 5
map(3)(8) = 5
此数组将由图像表示。每个数字 2 应该是一个蓝色方块。其余的应该是白色的
import scala.io.Source
import java.io._
import java.awt.image.BufferedImage
import java.awt.{Graphics2D,Color,Font,BasicStroke}
import java.awt.geom._
object DRAWPROB {
def draw(map : Array[Array[Int]]){
val size = (30 * (map(0).length-1), 30 * (map.length-1))
val canvas = new BufferedImage(size._1, size._2, BufferedImage.TYPE_INT_RGB)
val g = canvas.createGraphics()
g.setColor(Color.WHITE)
g.fillRect(0, 0, canvas.getWidth, canvas.getHeight)
g.setRenderingHint(java.awt.RenderingHints.KEY_ANTIALIASING,java.awt.RenderingHints.VALUE_ANTIALIAS_ON)
var d = 0;
for(d <- 0 to map.length-1){
var e = 0;
for(e <- 0 to map(0).length-1){
g.setColor(Color.BLUE)
if(map(d)(e) == 2){ g.fill(new Rectangle2D.Double(d*30.0, e*30.0, 30.0, 30.0));} // ill find a way to do this once i can load the image
else {println("not at "+ d + " " + e)}
}
}
g.dispose()
javax.imageio.ImageIO.write(canvas, "png", new java.io.File("island_drawing.png"))
}
它只是做了 1 个大的蓝色方块,但我希望右下角缺少一个部分
我为什么会得到这个
【问题讨论】: