1

2枚の写真が同じ場合に比較する機能を作っています。私はこのコードを持っています:

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と互換性を持たせるにはどうすればよいですか?

ありがとう。

4

3 に答える 3

4

残念ながら、Javacript と Java は完全に別の言語であり、名前が共通する唯一のものであるため、これは不可能です。

JavaScript で同様のことを行う方法について知りたい場合は、File API を参照してください: https://developer.mozilla.org/en-US/docs/DOM/File_APIs

于 2012-11-17T00:22:07.713 に答える
3

JavaScript で Java コードを実行することはできません。Java コードをアプレットとしてコンパイルしてページに埋め込むことも、コードを JS で書き直すこともできます。html5canvasgetImageData()関数を使用する場合、これは実行可能なはずです。そうすれば、JavaScript からコードを簡単に操作できます。

于 2012-11-17T00:24:18.677 に答える
1

Mozilla Rhinoを使用して JavaScript で記述したコードで Java クラスと API を使用することは、ある程度可能です。

Rhino は、JDK にバンドルされている Java で記述された単純な JS インタープリターです。基本的には JS 構文で Java API を使用できますが、一方で、利用可能な DOM API がなく、そのようなスクリプトを Web ブラウザーで実行することはできません。これらは JVM によって実行されます。

于 2012-11-17T01:35:02.747 に答える