我有一个着色模型的jpeg我试图导出和结果导入模型,但我是新的堆栈溢出,我还不允许张贴图像。
我也找不到附加导出的FXML文件内容的方法,但我很乐意分享它。
当我使用标准的FXMLLoader将fxml文件导入回我的应用程序时,颜色映射是不可见的。我不知道是出口不完整还是进口不正确。FXML文件似乎有正确的网格和纹理映射指针,但我没有看到纹理映射的表示。我使用PhongMaterial setDiffuseMap方法为使用WritableImage和PixelWriter创建颜色带构建的material对象分配图像。有谁知道FXMLExporter是否支持以这种方式构造的PhongMaterial对象的导出,或者FXMLImporter不支持导入这样的颜色映射?
我在export方法中添加了代码,以记住用于导出FXML文件的文件名,这样我就可以根据FXML文件名(传递给exportImage()的完整路径名)为图像文件分配一个名称。如果没有路径,图像文件将存储在Eclipse工作区中,而不是与FXML文件存储在同一个文件夹中。我不确定应该给fxmlimage.addProperty(“URL”,文件名)起什么名字。应该是完整的路径名还是仅仅是文件名?如果我使用完整的路径名,那么我在FXML文件中有一个硬编码路径,这似乎是一个坏主意。我试着用完整路径和不使用完整路径保存URL名称,得到了相同的结果...也就是说,当我导入FXML文件时,没有模型出现。我还尝试了使用和不使用前导@的情况,结果相同。有人知道我可能做错了什么吗?
如果您查看OpenJFX上3DViewer
项目中FxmlExporter
类的上一个版本,您将看到对于材料只导出漫射色:
if (PhongMaterial.class.isAssignableFrom(aClass)) {
res.add(new Property(aClass.getMethod("getDiffuseColor"), "diffuseColor"));
}
同样的情况也发生在你提到的项目中。
您可以添加这一行:
res.add(new Property(aClass.getMethod("getDiffuseMap"), "diffuseMap"));
if (PhongMaterial.class.isAssignableFrom(aClass)) {
res.add(new Property(aClass.getMethod("getDiffuseColor"), "diffuseColor"));
res.add(new Property(aClass.getMethod("getDiffuseMap"), "diffuseMap"));
}
因此,当您导出3D形状时,它将被添加到fxml文件中:
<Box id="box" width="100.0" height="100.0" depth="100.0">
<material>
<PhongMaterial diffuseColor="0xffffffff">
<diffuseMap>
<Image/>
</diffuseMap>
</PhongMaterial>
</material>
</Box>
我们还需要导出图像URL。这可以在exporttofxml
方法中完成。
由于扩散映射的图像
不存储任何路径,因此技巧是将图像保存到导出fxml的相同路径。这是一个快速实现:
private FXML exportToFXML(Object object) {
...
for (Property property : properties) {
try {
Object[] parameters = new Object[property.getter.getParameterTypes().length];
Object value = property.getter.invoke(object, parameters);
if (value != null) {
...
} else if (value instanceof Image) {
FXML container = fxml.addContainer(property.name);
FXML fxmlImage=exportToFXML(value);
container.addChild(fxmlImage);
exportImage((Image)value,"image.png");
fxmlImage.addProperty("url","@image.png");
} else {
FXML container = fxml.addContainer(property.name);
container.addChild(exportToFXML(value));
}
}
} catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException ex) {
Logger.getLogger(FXMLExporter.class.getName()).
log(Level.SEVERE, null, ex);
}
}
return fxml;
}
private void exportImage(Image image, String fileName){
try {
ImageIO.write(SwingFXUtils.fromFXImage(image, null), "png", new File(fileName));
} catch (IOException ex) {
System.out.println("Error saving image");
}
}
<Box id="box" width="100.0" height="100.0" depth="100.0">
<material>
<PhongMaterial diffuseColor="0xffffffff">
<diffuseMap>
<Image url="@image.png"/>
</diffuseMap>
</PhongMaterial>
</material>
</Box>
从SQL Server导入,数据类型未正确转换堆栈:已使用Ambari 2.1安装HDP-2.3.2.0-2950 目的: null 我错过了什么?
这可能是个愚蠢的问题,但我无论如何也无法解决。我有一个JavaScript文件,其中包含我想要导出的各种函数。 当我调用这个方法(使用mocha)时,我得到一条错误消息“export function AddNumbers(…numbers)Unexpected token export”。该项目构建为ES6。有人知道我做错了什么吗? 最好的问候,托斯顿
我正在将一个KML文件导入到fusion表中,发现缺少行—我只得到前4行。我在Google Earth中检查了该文件,所有多边形都显示得很好,因此我确信KML文件没有损坏。 当我第一次在GoogleDrive表中打开该文件时,它有一个注释,其中有17%是导入的,但随后就消失了。似乎导入没有完成。该文件为20MB。 任何提示或建议。我环顾四周,没有发现类似的问题。感谢指导员! PS:如果您对以下问题
问题内容: 有人可以为我提供关于类对象的一些指导,以及如何在我的项目中的另一个对象中引用它吗? 这是我的对象-request-api.js(注意:我知道它还没有进行很多操作,但是我想走路之前要走路) 这是我试图在其中引用的React Class组件: 我的React Component Class对象出现错误: 谁能为我提供一些见识/帮助? 问题答案: 由于不是静态方法,因此您需要先创建的实例,然
注意:我知道有很多关于这个主题的帖子,我已经审阅了相当多的没有成功(请看我在这篇文章底部的参考资料)。 我正试图使用Visual Studio代码在TypeScript中运行一个非常简单的测试,其中我在一个文件中声明一个类并将其导入到另一个文件中。但是,我仍然遇到一个问题,我正在导入的文件无法识别我从另一个文件导出的类的方法。 此时我收到的确切错误消息是: [ts]属性“Get FirstName
我必须使用谷歌云语音API在Xamarin.iOS应用程序中实现语音转换文本功能。 首先,我尝试使用google.cloud.speech.v1 Nuget包,但是gRPC库似乎不能与Xamarin一起工作(https://github.com/gRPC/gRPC/issues/1620,https://forums.Xamarin.com/discussion/94534/how-to-use-