要求服務器安裝了 IE9,現在能生成并保存 png 圖片了,但是繪圖那里暫時沒法將 img 繪制上去,用 sleep 能繪制成功,但是沒法 toDataURL。時間不早了,先休息,各位有空的可以接著研究

function zipImage(src, w, h) {
// 啟動 IE9 模式
var doc = new ActiveXObject("htmlfile");
doc.write("<meta http-equiv='X-UA-Compatible' content='IE=9' />");
// 加載圖片
var img = doc.createElement("img");
img.src = "C:\\Users\\Rimifon\\Desktop\\" + src;
img.setAttribute("crossOrigin", "anonymous");
// 創建畫布
var cvs = doc.createElement("canvas");
cvs.width = w; cvs.height = h;
var ctx = cvs.getContext("2d");
// 將圖片壓碩訓制到指定大小
ctx.drawImage(img, 0, 0, w, h);
var str = cvs.toDataURL("image/png").slice(22);
// base64 轉 二進制存盤
var xml = doc.createElement("xml");
xml.loadXML("<x/>");
var root = xml.documentElement;
root.dataType = "bin.base64";
root.text = str;
var bin = root.nodeTypedValue;
var stm = new ActiveXObject("Adodb.Stream");
stm.type = 1; stm.open();
stm.write(root.nodeTypedValue);
stm.saveToFile("03.png", 2); stm.close();
return str;
}
WSH.Echo(zipImage("02.jpg", 400, 225));
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/39875.html
標籤:ASP
下一篇:js 陣列物件排序的問題
