簡體   English   中英

如何將圖像從Java Applet發送到JavaScript?

[英]How send image from java applet to javascript?

我在JAVA中有代碼

import java.applet.Applet; import java.awt.Container; import java.awt.FlowLayout; import java.awt.Graphics; import java.awt.Image; import java.awt.MediaTracker; import java.awt.TextArea; import java.awt.Toolkit; import java.awt.datatransfer.Clipboard; import java.awt.datatransfer.DataFlavor; import java.awt.datatransfer.UnsupportedFlavorException; import java.awt.image.BufferedImage; import java.awt.image.ImageObserver; import java.awt.image.ImageProducer; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO;

public class JavaScriptToJava extends Applet{

    TextArea textBox;
    Image img;
    MediaTracker tr;
    public void init(){
        setLayout(new FlowLayout());
        textBox = new TextArea(5,40);
        add(textBox);
    }

    public void appendText(String text){
        textBox.append(text);

           Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
                try {
                        //Get data from clipboard and assign it to an image.
                        //clipboard.getData() returns an object, so we need to cast it to a BufferdImage.
                        BufferedImage image = (BufferedImage)clipboard.getData(DataFlavor.imageFlavor);


                }
                //getData throws this.
                catch(UnsupportedFlavorException ufe) {
                        ufe.printStackTrace();
                }

                catch(IOException ioe) {
                        ioe.printStackTrace();
                }
    }       



}

我需要用javascript獲取此圖像。 怎么辦

我的主要任務是從剪貼板復制圖像並將其傳輸到調用js的html頁面

取決於您要對javascript中的圖像執行的操作。 如果只想在屏幕上顯示它,則可能需要看看嵌入Base64圖像

否則,如果您想使用javascript進行裁剪或調整其大小,然后將其發送到服務器,事情將會變得更加棘手;)

創建一個Java方法從BufferedImage獲取像素:

public int getPixel(int xLoc, int yLoc) {
    int argb = myImage.getRGB(xLoc, yLoc);
    int rgba = // ... convert to rgba;
    return rgba;
}

我認為也可以只調用一次applet,然后將數組傳遞給JavaScript代碼。

在JavaScript中,創建一個Canvas元素,然后為每個像素調用applet,並在Canvas中進行設置。 有關如何從JavaScript調用applet的更多信息。 )( 有關HMTL Canvas像素操作的教程。

更進一步:

var myCanvas = document.getElementById("myCanvas");
var myImg    = myCanvas.toDataURL("image/png");
document.write('<img src="'+myImg+'"/>');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM