【发布时间】:2019-04-21 08:15:22
【问题描述】:
我的应用程序使用 phpmyadmin 连接到 mysql 中的数据库并将图像存储在数据库中,但我的问题是当我从数据库下载图像并将图像发布到 imageview 时,图像的质量也非常低颜色也受到影响。
如果我使用 phpmyadmin 将图像直接发布到数据库中,然后使用我的应用程序下载图像,图像看起来很好,但如果我从我的应用程序上传图像然后我下载它,那么质量很差。
发布图片的方式是通过图片到一个byte[]然后上传到使用blob类型的数据库中。
private byte[] imagenToByte(Image imagen) {
BufferedImage bufferimage = SwingFXUtils.fromFXImage(imagen, null);
ByteArrayOutputStream output = new ByteArrayOutputStream();
try {
ImageIO.write(bufferimage, "jpg", output );
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
byte [] data = output.toByteArray();
return data;
}
你能帮帮我吗?
编辑
@FXML
public void eventoBotonSeleccionarImagen() {
FileChooser imagenSeleccionada = new FileChooser();
FileChooser.ExtensionFilter filtroImagenjpg = new ExtensionFilter("Archivos *.jpg", "*.jpg");
FileChooser.ExtensionFilter filtroImagenJPG = new ExtensionFilter("Archivos *.JPG", "*.JPG");
File archivo = imagenSeleccionada.showOpenDialog(null);
try {
BufferedImage bufferedImage = ImageIO.read(archivo);
Image image = SwingFXUtils.toFXImage(bufferedImage, null);
imageViewMonstruo.setImage(image);
}
catch(Exception e) {
e.printStackTrace();
}
}
【问题讨论】:
-
如何加载/创建原始图像(
Image对象)?你为什么使用JPEG而不是例如PNG? -
看编辑,目的是从电脑上选择图片,我用jpg,因为图片是jpg,也可以,但是上传的图片质量很差,颜色是受影响。
标签: mysql eclipse javafx phpmyadmin