我想在JavaFX的ImageView中显示图像。图像应该从SQLite数据库中获取,并在场景加载时显示。我使用以下代码片段从数据库获取代码,并在之前创建的ImageView中显示它。但是图像没有按预期显示。我做错了吗?P. S.我测试了改变路径在两个FileOutputStream
和当读取文件从目录到src/image.jpg
。但似乎没有什么奏效。但是当我手动将一个图像文件放在src目录中并尝试读取它时,它就像一个魅力。但是我想展示一张从数据库中提取的图像。
@FXML
private void loadEquipmentData() throws IOException {
try{
Connection conn = DatabaseConnection.getConnection();
PreparedStatement checkStmt = conn.prepareStatement(selectEquipmentQuery);
ResultSet rs = checkStmt.executeQuery();
while(rs.next()){
InputStream is = rs.getBinaryStream("Image");
OutputStream os = new FileOutputStream(new File("image.jpg"));
byte[] content = new byte[1024];
int size = 0;
while ((size = is.read(content)) != -1){
os.write(content, 0, size);
}
os.close();
is.close();
File file = new File("file:image.jpg");
image = new Image(file.toURI().toString());
this.eq_img.setImage(image);
this.eq_img.setPreserveRatio(true);
this.eq_img.setFitWidth(318.0);
this.eq_img.setFitHeight(253.0);
}
} catch (SQLException e) {
e.printStackTrace();
} catch (FileNotFoundException fnf) {
fnf.printStackTrace();
}
}
在将图像写入数据库时,我使用此代码选择图像。
private FileChooser fileChooser;
private File file;
private FileInputStream fis;
@FXML
void chooseFiles() throws FileNotFoundException {
CommonStageSingleton stageSingleton = CommonStageSingleton.getInstance();
Stage userStage = stageSingleton.getMainWindow();
fileChooser = new FileChooser();
fileChooser.getExtensionFilters().addAll(
new FileChooser.ExtensionFilter("Image Files","*.jpg","*gif","*.jpeg","*.png")
);
file = fileChooser.showOpenDialog(userStage);
if(file != null){
fis = new FileInputStream(file);
ta_imagePath.setText(file.getAbsolutePath());
}
}
并将其输入数据库。
Connection conn = DatabaseConnection.getConnection();
PreparedStatement checkStmt = conn.prepareStatement(checkEquipmentQuery);
PreparedStatement st = conn.prepareStatement(insertEquipmentQuery);
st.setBinaryStream(12, (InputStream)fis, (int)file.length());
我可能做了一些事情来保存此图像,而不是将其保存为.jpg
。
@dan1st指出了我在这里缺少的东西。在写入数据库时,我使用了webp图像作为输入图像。JavaFX不支持webp图像类型。现在我用的是jpeg,到目前为止没有任何问题。
我创建了一个动态web项目,以便通过Servlet显示JSP(我不能使用任何类似Spring的框架…)。默认情况下,我构建的类放在Build/classes中,因此在我将输出文件夹更改为WebContent/WEB-INF/classes后,我的应用程序运行良好。之后,我将该项目转换为Maven项目。(我不记得我上次使用servlet/JSP时需要更改输出文件夹,那是3年前!)。 无论如何,现在我
我试图从docker容器中使用OpenCV imshow GUI。我使用nvidia-docker启动容器,因为该容器包含GPU版本的Tensorflow 我试图显示的图像是使用MatplotLib显示的。我该如何纠正这一点呢?谢谢
我尝试了一切,但图像不会显示,我试图缩小图像,但没有用,我试图改变路径,我试图更改图像的位置,但没有帮助,我试图在互联网上搜索,但什么都没有。 我看到的只是空白的图形用户界面,没有文本和图像。如果你能帮我,你会帮我一个大忙。 代码如下:
我正在使用此代码显示图像 图片存在于storage\app\public\images上,但它没有显示在我的页面上,顺便说一句,我已经创建了php artisan storage:link
我从django应用程序开始,并尝试在主页中显示图像。但是图像没有被显示。 我的settings.py: 我的网址.py: 我的home.html: 我得到文本显示而不是图像
我有一个netbeansjavagui项目。它包含用于图像的java文件和文件夹。我的项目中最重要的一部分是通过单击按钮来显示图像,比如说单击“下一步”按钮。当我点击“下一步”按钮时,图像将从IMG文件夹中逐个显示。我将图像放在标签中,如下所示: 我运行了这个程序,到目前为止,它可以按照我的要求工作。 然后,我需要将项目创建到一个jar文件中。我使用Netbeans和这个来创建我的项目的JAR文件