MINI
C:
/
siak
/
TOOL SIAK
/
tool9
/
ke
/
ke
/
ke
/
bootstrap
/
v5
/
assets
/
plugins
/
Upload File:
files >> C:/siak/TOOL SIAK/tool9/ke/ke/ke/bootstrap/v5/assets/plugins/canvas2image.min.js
var Canvas2Image=function(){var bHasCanvas=false;var oCanvas=document.createElement("canvas");if(oCanvas.getContext("2d"))bHasCanvas=true;if(!bHasCanvas)return{saveAsBMP:function(){},saveAsPNG:function(){},saveAsJPEG:function(){}};var bHasImageData=!!oCanvas.getContext("2d").getImageData;var bHasDataURL=!!oCanvas.toDataURL;var bHasBase64=!!window.btoa;var strDownloadMime="image/octet-stream";var readCanvasData=function(oCanvas){var iWidth=parseInt(oCanvas.width);var iHeight=parseInt(oCanvas.height); return oCanvas.getContext("2d").getImageData(0,0,iWidth,iHeight)};var encodeData=function(data){var strData="";if(typeof data=="string")strData=data;else{var aData=data;for(var i=0;i<aData.length;i++)strData+=String.fromCharCode(aData[i])}return btoa(strData)};var createBMP=function(oData){var aHeader=[];var iWidth=oData.width;var iHeight=oData.height;aHeader.push(66);aHeader.push(77);var iFileSize=iWidth*iHeight*3+54;aHeader.push(iFileSize%256);iFileSize=Math.floor(iFileSize/256);aHeader.push(iFileSize% 256);iFileSize=Math.floor(iFileSize/256);aHeader.push(iFileSize%256);iFileSize=Math.floor(iFileSize/256);aHeader.push(iFileSize%256);aHeader.push(0);aHeader.push(0);aHeader.push(0);aHeader.push(0);aHeader.push(54);aHeader.push(0);aHeader.push(0);aHeader.push(0);var aInfoHeader=[];aInfoHeader.push(40);aInfoHeader.push(0);aInfoHeader.push(0);aInfoHeader.push(0);var iImageWidth=iWidth;aInfoHeader.push(iImageWidth%256);iImageWidth=Math.floor(iImageWidth/256);aInfoHeader.push(iImageWidth%256);iImageWidth= Math.floor(iImageWidth/256);aInfoHeader.push(iImageWidth%256);iImageWidth=Math.floor(iImageWidth/256);aInfoHeader.push(iImageWidth%256);var iImageHeight=iHeight;aInfoHeader.push(iImageHeight%256);iImageHeight=Math.floor(iImageHeight/256);aInfoHeader.push(iImageHeight%256);iImageHeight=Math.floor(iImageHeight/256);aInfoHeader.push(iImageHeight%256);iImageHeight=Math.floor(iImageHeight/256);aInfoHeader.push(iImageHeight%256);aInfoHeader.push(1);aInfoHeader.push(0);aInfoHeader.push(24);aInfoHeader.push(0); aInfoHeader.push(0);aInfoHeader.push(0);aInfoHeader.push(0);aInfoHeader.push(0);var iDataSize=iWidth*iHeight*3;aInfoHeader.push(iDataSize%256);iDataSize=Math.floor(iDataSize/256);aInfoHeader.push(iDataSize%256);iDataSize=Math.floor(iDataSize/256);aInfoHeader.push(iDataSize%256);iDataSize=Math.floor(iDataSize/256);aInfoHeader.push(iDataSize%256);for(var i=0;i<16;i++)aInfoHeader.push(0);var iPadding=(4-iWidth*3%4)%4;var aImgData=oData.data;var strPixelData="";var y=iHeight;do{var iOffsetY=iWidth*(y- 1)*4;var strPixelRow="";for(var x=0;x<iWidth;x++){var iOffsetX=4*x;strPixelRow+=String.fromCharCode(aImgData[iOffsetY+iOffsetX+2]);strPixelRow+=String.fromCharCode(aImgData[iOffsetY+iOffsetX+1]);strPixelRow+=String.fromCharCode(aImgData[iOffsetY+iOffsetX])}for(var c=0;c<iPadding;c++)strPixelRow+=String.fromCharCode(0);strPixelData+=strPixelRow}while(--y);var strEncoded=encodeData(aHeader.concat(aInfoHeader))+encodeData(strPixelData);return strEncoded};var saveFile=function(strData){document.location.href= strData};var makeDataURI=function(strData,strMime){return"data:"+strMime+";base64,"+strData};var makeImageObject=function(strSource){var oImgElement=document.createElement("img");oImgElement.src=strSource;return oImgElement};var scaleCanvas=function(oCanvas,iWidth,iHeight){if(iWidth&&iHeight){var oSaveCanvas=document.createElement("canvas");oSaveCanvas.width=iWidth;oSaveCanvas.height=iHeight;oSaveCanvas.style.width=iWidth+"px";oSaveCanvas.style.height=iHeight+"px";var oSaveCtx=oSaveCanvas.getContext("2d"); oSaveCtx.drawImage(oCanvas,0,0,oCanvas.width,oCanvas.height,0,0,iWidth,iHeight);return oSaveCanvas}return oCanvas};return{saveAsPNG:function(oCanvas,bReturnImg,iWidth,iHeight){if(!bHasDataURL)return false;var oScaledCanvas=scaleCanvas(oCanvas,iWidth,iHeight);var strData=oScaledCanvas.toDataURL("image/png");if(bReturnImg)return makeImageObject(strData);else saveFile(strData.replace("image/png",strDownloadMime));return true},saveAsJPEG:function(oCanvas,bReturnImg,iWidth,iHeight){if(!bHasDataURL)return false; var oScaledCanvas=scaleCanvas(oCanvas,iWidth,iHeight);var strMime="image/jpeg";var strData=oScaledCanvas.toDataURL(strMime);if(strData.indexOf(strMime)!=5)return false;if(bReturnImg)return makeImageObject(strData);else saveFile(strData.replace(strMime,strDownloadMime));return true},saveAsBMP:function(oCanvas,bReturnImg,iWidth,iHeight){if(!(bHasImageData&&bHasBase64))return false;var oScaledCanvas=scaleCanvas(oCanvas,iWidth,iHeight);var oData=readCanvasData(oScaledCanvas);var strImgData=createBMP(oData); if(bReturnImg)return makeImageObject(makeDataURI(strImgData,"image/bmp"));else saveFile(makeDataURI(strImgData,strDownloadMime));return true}}}();
Copyright ©2021 || Defacer Indonesia