在javascript中运行java
我正在做一个功能,比较两张图片是否相同。我有这个密码:
var rez=null;
rez=compareImages();
alert(rez);
boolean function compareImages()
{
BufferedImage bi1 = java.ImageIO.read(new File("C:\\MyFiles\\pic1.png")),
bi2 = java.ImageIO.read(new File("C:\\MyFiles\\pic2.png"));
Raster r1 = bi1.getData(),
r2 = bi2.getData();
DataBuffer db1 = r1.getDataBuffer(),
db2 = r2.getDataBuffer();
int size1 = db1.getSize(),
size2 = db2.getSize();
// checking if the files sizes are the same
if(size1 != size2)
return false;
// pixel by pixel check up
for (int i = 0; i < size1; i++)
if(db1.getElem(i) != db2.getElem(i))
return false;
return true;
}
现在我想在中运行这段代码。js文件,但当我这样做时,我会得到一个错误,丢失”错误那么,如何使这个函数与javascript兼容呢
谢谢
# 1 楼答案
不幸的是,Javascript和Java是完全分离的语言,它们唯一的共同点是名称,因此这是不可能的
如果您想了解如何在javascript中执行类似的操作,请查看文件API的:https://developer.mozilla.org/en-US/docs/DOM/File_APIs
# 2 楼答案
不能在JavaScript中运行Java代码。您可以将Java代码编译为小程序并将其嵌入页面,也可以用JS重写代码。如果使用html5
canvas
和getImageData()
函数,这应该是可行的。这样,您就可以轻松地与JavaScript中的代码进行交互# 3 楼答案
在代码中使用Java类和API是有可能的,这些代码是用Mozilla Rhino用JavaScript编写的
Rhino只是一个用Java编写的JS解释,与JDK捆绑在一起。它基本上允许您使用JS语法的Java API,但另一方面,没有可用的DOM API,您不能在Web浏览器中运行这样的脚本。它们由JVM运行