Compare commits
2 Commits
b37e8acb28
...
6be23a4a1e
Author | SHA1 | Date |
---|---|---|
heminjian502 | 6be23a4a1e | 2 years ago |
heminjian502 | 6c2e378717 | 2 years ago |
@ -0,0 +1,43 @@
|
|||||||
|
package com.ruoyi.common.utils.file;
|
||||||
|
|
||||||
|
import java.awt.image.BufferedImage;
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
|
import javax.imageio.ImageIO;
|
||||||
|
|
||||||
|
import com.google.zxing.common.BitMatrix;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 配置图像写入器
|
||||||
|
*
|
||||||
|
* @author 18316
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class MatrixToImageWriter {
|
||||||
|
private static final int BLACK = 0xFF000000;
|
||||||
|
private static final int WHITE = 0xFFFFFFFF;
|
||||||
|
|
||||||
|
private MatrixToImageWriter() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public static BufferedImage toBufferedImage(BitMatrix matrix) {
|
||||||
|
int width = matrix.getWidth();
|
||||||
|
int height = matrix.getHeight();
|
||||||
|
BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
|
||||||
|
for (int x = 0; x < width; x++) {
|
||||||
|
for (int y = 0; y < height; y++) {
|
||||||
|
image.setRGB(x, y, matrix.get(x, y) ? BLACK : WHITE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return image;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void writeToFile(BitMatrix matrix, String format, File file) throws IOException {
|
||||||
|
BufferedImage image = toBufferedImage(matrix);
|
||||||
|
if (!ImageIO.write(image, format, file)) {
|
||||||
|
throw new IOException("Could not write an image of format " + format + " to " + file);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue