2

クリップボードから自分の Web サイトに画像を貼り付けようとしています (コピー アンド ペーストなど)。誰かがこれについてアドバイスできるかどうかに感謝します。HTML 5、アプレット、またはその他の方法を使用してこれを実現できますか。アドバイスや参照用のリンクは大歓迎です。

4

3 に答える 3

2

JavaScriptでなんとかできました。

JavaScript

if (!window.Clipboard) {
   var pasteCatcher = document.createElement("apDiv1");
   pasteCatcher.setAttribute("contenteditable", "");
   pasteCatcher.style.opacity = 0;
   document.body.appendChild(pasteCatcher);
   pasteCatcher.focus();
   document.addEventListener("click", function() { pasteCatcher.focus(); });
} 

window.addEventListener("paste", onPasteHandler);

function onPasteHandler(e)
{
    if(e.clipboardData) {
        var items = e.clipboardData.items;
        if(!items){
            alert("Image Not found");
        }
        for (var i = 0; i < items.length; ++i) {
        if (items[i].kind === 'file' && items[i].type === 'image/png') {
            var blob = items[i].getAsFile(),
                source = window.webkitURL.createObjectURL(blob);

            pastedImage = new Image();
            pastedImage.src = source;

            pasteData();
            }
        }
    }
}

function pasteData()
{
    drawCanvas = document.getElementById('drawCanvas1');
    ctx = drawCanvas.getContext( '2d' );
    ctx.clearRect(0, 0, 640,480);
    ctx.drawImage(pastedImage, 0, 0);
}

DIV

<div id="apDiv1" contenteditable='true'>Paste Test</div>
于 2013-07-17T06:14:49.637 に答える
0

まずはファイル(画像)サーバーを作ります。

次にjsを使用して貼り付けイベントをリッスンします。コードのキーワード:

addEventListener 'paste' clipboard image

次に、ファイルサーバーへのajaxアップロードを使用します。ajax resp は URL です。

最後にurlでimgタグを作っています。

アプレットは古くなっています...無視してください。

于 2016-11-16T04:02:55.207 に答える
0

アプレットが署名されていなくても、JNLP API を使用できます。

ClipboardService cs = (ClipboardService)ServiceManager.lookup("javax.jnlp.ClipboardService");
Image c = (Image)cs.getContents().getTransferData(DataFlavor.imageFlavor);
于 2013-07-11T10:20:56.210 に答える