我无法理解这种方法的工作原理:
public DrawingCanvas(int[][] pixels, int rows, int cols){
image = new BufferedImage(cols, rows, BufferedImage.TYPE_BYTE_GRAY);
int pixel = 0;
for (int r = 0; r < rows; r++){
int col = 0;
for (int c = 0; c < cols; c++){
if(c+11 < cols){
pixel = pixels[r][c+11];
}
else{
pixel = pixels[r][col];
col++;
}
image.setRGB(c, r, ((255<<24) | (pixel << 16) | (pixel << 8) | pixel));
}
}
答案 0 :(得分:2)
此方法是使用for循环扫描图像(存储在BufferedImage的图像对象中)并使用setRGB
方法逐个像素地更改颜色