js远程图片本地化

本文介绍了一种将网页中的图片转换为Base64编码的方法,利用jQuery和html2canvas库实现图片的实时抓取与转换,并展示了如何将转换后的Base64编码应用于图片展示。

方法convertImgToBase64(url, callback, outputFormat)

<script src="../js/jquery-2.1.1.min.js"></script>
<script src="../js/html2canvas.js"></script>
<script>
    $(function(){
        var url = $("div[rel='photo'] img").attr("src");
        convertImgToBase64(url,function (base64Img) {
            $("div[rel='photo'] img").attr("src",base64Img);
        });
        setTimeout(function(){
            create_image();
        },1000);
    });
    var imgData;
    function create_image(){
        html2canvas($("#content"), {
            onrendered: function(canvas) {
                imgData = canvas.toDataURL("image/png");
                $("#aaa").attr("src",imgData);
                $("#aaa").show();
                $("#content").hide();
                $("#button").show();
            }
        });
    }
    function convertImgToBase64(url, callback, outputFormat){
        var canvas = document.createElement('CANVAS'),
            ctx = canvas.getContext('2d'),
            img = new Image;
        img.crossOrigin = 'Anonymous';
        img.onload = function(){
            canvas.height = img.height;
            canvas.width = img.width;
            ctx.drawImage(img,0,0);
            var dataURL = canvas.toDataURL(outputFormat || 'image/png');
            callback.call(this, dataURL);
            canvas = null;
        };
        img.src = url;
    }
</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值