當前,我們有HTML頁來上載圖像並加載到畫布上。將圖像上載到畫布並顯示在新頁面
function handleImage2(e) {
var ctx = canvas2.getContext('2d');
ctx.fillStyle = 'black';
ctx.font = "50px Arial";
ctx.fillText('Loading...', 100, 100);
var reader = new FileReader();
reader.onload = function (event) {
var img = new Image();
img.onload = function() {
ctx.drawImage(img, 0, 0, img.width, img.height, 0, 0, canvas2.width, canvas2.height);
}
img.src = event.target.result;
}
reader.readAsDataURL(e.target.files[0]);
}
爲了進一步發展,我們希望在不同的頁面和新標籤上顯示相同的圖像。處理流程是當用戶點擊按鈕more detail
時,一個新標籤以相同的圖像打開並且一些信息被跟隨。
我嘗試模擬提交過程到另一個頁面,並從上一頁獲取POST數據。但是這種方法不起作用,使得瀏覽器如此遲鈍,最終沒有任何東西出現。
var apiForm = document.createElement("form");
apiForm.target = "_blank";
apiForm.method = "POST";
apiForm.action = "printout.php";
var urlData = document.createElement("input");
urlData.type = "text";
urlData.name = "urlData";
urlData.value = canvasObject.toDataURL("image/png");
apiForm.appendChild(urlData);
document.body.appendChild(apiForm);
apiForm.submit();
繼此評論波紋管@PHPGLue傢伙,我跟隨他的想法,仍然無法正常工作
var canvasObject = document.getElementById("canvas2");
var dataUrl = canvasObject.toDataURL("image/png");
var newWindow = window.open("printout.php", "print preview", "_blank");
newWindow.document.getElementById('canvas2').src = dataUrl;
是否有任何想法,以顯示從畫布上的圖像,然後顯示同一圖像在不同的新標籤頁中的另一個畫布上?
謝謝
你爲什麼不只是通過圖片的鏈接? –
你爲什麼在畫布上畫畫?你只是想要一個上傳的圖像出現在頁面上? – PHPglue
@MarcoSalerno我沒有上傳該圖像到服務器,只是預覽。 – NPE