精华内容
下载资源
问答
  • 上述方法 只是将指定的二维码换成了image,但是只是静态换一次。为了动态的换二维码,楼主封了个土味方法,有更好的方法的话可以赐教一下。 原理就是不替换节点,而是插入节点,同时把 canvas节点 display:none ...

    1. 导入包生成二维码

    npm install qrcode.react

    npm包链接: https://www.npmjs.com/package/qrcode.react

    1.1 生成二维码:

    import * as QrCode from 'qrcode.react'
    
    render() {
        return (
            <QrCode value={“二维码内容”} size={80} id="qrCode"/>
        )
    }
    
    /* 注意这个id下文转图片格式的时候会用到 */

     

    2.将生成的canvas格式二维码转换成image格式

    基本思路是: canvas -> toDataUrl -> 转换成base64编码的image格式

    延展开来如果要做 web端的点击下载: canvas -> toDataUrl() -> image -> a标签, a.download = "下载文件名" 

    H5的点击按钮下载二维码 楼主暂时没有实现,如果以后做出来了会更新,或者有大佬可以分享一下。

     

    2.1 转图片

    let canvasImg = document.getElementsByTagName('canvas')[0];
    let image = new Image();
    
    // canvas.toDataUrl() 可以将canvas格式的文件转换成基于base64的指定格式的图片
    // 注意这个api ie9以下不支持
    
    image.src = canvasImg.toDataURL("image/png");
    let alink = document.createElement("img");
        alink.className = 'qrcode';
        alink.src = image.src;
        alink.download = "下载文件的名字.png";
    
    //然后用这个我们创造的 img 节点去替换 canvasImg节点 这样原来在dom节点里的canvas就会被替换成image拉
    
    canvasImg.parentNode.replaceChild(alink,canvasImg);
    
            

    2.2 

    一直用框架的朋友可能对原生的一些语句生疏了,比如我本人... 所以最后来复习一下dom节点操作的方法:

    2.2.1、创建元素节点:createElement

    用法:document.createElement("p");//创建p标签;

        创建文本节点:createTextNode;

    用法:document.createTextNode("txt");//创建文本标签;

    2.2.2、插入节点:appendchild:在要插入的元素节点上调用,他插入指定的节点使其成为那个节点的最后一个子节点。

                       insertBefore:在已有的元素前插入一个新元素;

                       insertAfter:在现有的元素后面插入一个新元素;

    2.2.3、删除节点:removeChild;从文档树中删除一个节点(先找到要删除节点的父节点,用父节点删除);

                      用法:var para1=document.getElementById("p1");

                                   para1.parentNode.removeChild(para1);

    2.2.4、替换节点:replaceChild;将一个节点替换为另一个节点(先找到要替换的节点的父节点,用父节点替换);

     

     

    补充:

    上述方法 只是将指定的二维码换成了image,但是只是静态换一次。为了动态的换二维码,楼主封了个土味方法,有更好的方法的话可以赐教一下。

    原理就是不替换节点,而是插入节点,同时把 canvas节点 display:none

    changeCanvasToPic = () => {
            let canvasImg = document.getElementsByTagName('canvas')[0];
            let image = new Image();
            image.src = canvasImg.toDataURL("image/png");
            //将canvas格式图片转换成image
            let alink = document.createElement("img");
            alink.className = 'qrcode';
            alink.id ="qr-img";
            alink.src = image.src;
            alink.download = "ceshi.png";
            let qrImg = document.getElementById('qr-img');
            if(qrImg){
                canvasImg.parentNode.replaceChild(alink,qrCode);
            } else{
                canvasImg.parentNode.insertBefore(alink,canvasImg);
            }
        }
    
    
    render(){
        return(
        <QRCode value={this.state.address} size={100} style={{display:'none'}} 
                id="qrCode" />
    )
    }

     

    上文资料参考:

    https://developer.mozilla.org/zh-CN/docs/Web/API/HTMLCanvasElement/toDataURL

    https://www.jianshu.com/p/d91216d465d9

    https://blog.csdn.net/qq_38130094/article/details/80509131

    展开全文
  • canvas转换成img, html转换成img

    千次阅读 2019-04-08 14:23:31
    1.canvas转换成img 当时情境:使用jquery.qrcode.js生成qrcode时,默认生成的DOM元素是canvas,而不是img,这如果是在微信开发就无法长按保存图片,所以需要转换成img //从 canvas 提取图片 image function ...

     1.canvas转换成img

    当时情境:使用jquery.qrcode.js生成qrcode时,默认生成的DOM元素是canvas,而不是img,这如果是在微信开发就无法长按保存图片,所以需要转换成img

    //从 canvas 提取图片 image
    function convertCanvasToImage(canvas) {
        //新Image对象,可以理解为DOM
        var image = new Image();
        // canvas.toDataURL 返回的是一串Base64编码的URL,当然,浏览器自己肯定支持
        // 指定格式 PNG
        image.src = canvas.toDataURL("image/png");
        return image;
    }
    
    //获取网页中的canvas对象
    var mycanvas1=document.getElementsByTagName('canvas')[0];
    
    //将转换后的img标签插入到html中
    var img=convertCanvasToImage(mycanvas1);
    $('#img').append(img);//imagQrDiv表示你要插入的容器id

     

     2.html转换成img

    当时情境:在上述1的情境下,还是不能满足需求,产品希望将整个背景和二维码都能保存下来,也就是相当于截图保存/转发。那么,我们只有将整个需要保存的html转成图片,即可实现长按保存了。

    用到的js类库:html2canvas.js(https://github.com/niklasvh/html2canvas/releases),直接下载需要的js即可

    <script type="text/javascript" src="/addons/recommendaward/style/js/recommend.js?v={php echo date('Hi');}" ></script>
    <script src="/addons/recommendaward/style/js/html2canvas.js?v={php echo date('Hi');}"></script>
    
    <srcipt>
        html2canvas($("#body")[0]).then(function(canvas){//要转成img的html
    	    var imgUri = canvas.toDataURL();
    	    $('#cont').hide();//将原来的内容隐藏
    	    $("#body").append('<img style="height: inherit;" src="'+imgUri+'" />');//嵌入img到指定元素里
        });
    </script>

     

    展开全文
  • 将视频AVI格式转换为图片IMG格式转换为一帧一帧的图片,打开即可使用
  • 虚拟化云桌面格式转换、ghost文件格式如何转化为img格式
  • imggeotiff格式,用c++语言写,包括使用GDAL读取图像灰度、投影
  • 将CAD格式转换img

    2017-09-12 11:55:06
    Easy CAD to Image Converter(cad转jpg转换器)是一款支持把DWG, DXF, DWF 文件转化 BMP, JPEG, GIF, TIFF, PNG, TGA 的图像格式转换工具。无需安装Auto Cad。
  • python实现labelImg标注的 xml格式数据转换成 txt格式数据的代码xml2txt.py如下: # -*- coding: utf-8 -*- import os import xml.etree.ElementTree as ET dirpath = 'raw_data/xml_raw' # 原来存放xml文件的目录 ...

    labelImg标注的 xml格式数据如下:
    在这里插入图片描述
    单个xml文件数据打开如下:
    在这里插入图片描述
    python实现labelImg标注的 xml格式数据转换成 txt格式数据的代码xml2txt.py如下:

    # -*- coding: utf-8 -*-
    import os
    import xml.etree.ElementTree as ET
    
    dirpath = 'raw_data/xml_raw'  # 原来存放xml文件的目录
    newdir = 'raw_data/txt'                # 修改label后形成的txt目录
    
    if not os.path.exists(newdir):
        os.makedirs(newdir)
    
    dict_info = {'1': 0, '2': 1, '0': 2}              # 有几个 属性 填写几个label names
    
    for fp in os.listdir(dirpath):
        if fp.endswith('.xml'):
            root = ET.parse(os.path.join(dirpath, fp)).getroot()
    
            xmin, ymin, xmax, ymax = 0, 0, 0, 0
            sz = root.find('size')
            width = float(sz[0].text)
            height = float(sz[1].text)
            filename = root.find('filename').text
            for child in root.findall('object'):  # 找到图片中的所有框
    
                sub = child.find('bndbox')  # 找到框的标注值并进行读取
                label = child.find('name').text
                label_ = dict_info.get(label)
                if label_:
                    label_ = label_
                else:
                    label_ = 0
                xmin = float(sub[0].text)
                ymin = float(sub[1].text)
                xmax = float(sub[2].text)
                ymax = float(sub[3].text)
                try:  # 转换成yolov3的标签格式,需要归一化到(0-1)的范围内
                    x_center = (xmin + xmax) / (2 * width)
                    x_center = '%.6f' % x_center
                    y_center = (ymin + ymax) / (2 * height)
                    y_center = '%.6f' % y_center
                    w = (xmax - xmin) / width
                    w = '%.6f' % w
                    h = (ymax - ymin) / height
                    h = '%.6f' % h
                except ZeroDivisionError:
                    print(filename, '的 width有问题')
                with open(os.path.join(newdir, fp.split('.xml')[0] + '.txt'), 'a+') as f:
                    f.write(' '.join([str(label_), str(x_center), str(y_center), str(w), str(h) + '\n']))
    print('ok')
    

    转换后完成如下:
    在这里插入图片描述
    单个txt文件数据打开如下:
    在这里插入图片描述
    转载自:https://blog.csdn.net/weixin_42812527/article/details/103719299
    感谢大佬“后青春诗ing”

    展开全文
  • 首先,这个msi影像大约在6G左右。 在MAPGIS6.7中,尝试着将影像转换为TIF格式,但结果输出的结果与原影像严重不符,无法使用。别的软件没有尝试。...现求助:通过什么软件或者方法可以将msi影像转换img格式
  • Img2css 是一个可以将任何图像转换成 CSS 格式的工具。它计算出画布整列中的 RGB 值,然后为每个值创建单一的像素阴影。 标签:Img2css
  • dmg格式转换dmg2img

    2013-06-27 20:00:35
    用 法: dmg2img -i <input.dmg> -o <output.raw> 请直接转换为RAW,其实这个时候换成的ISO就是RAW。然后用这个RAW写盘。
  • img-vmdk格式转换
  • 把VOC数据的XML标注文件和图片放到和代码文件同一个目录下的tmp_xml文件内,再运行代码,即可完成转换。 致谢 感谢 https://blog.csdn.net/u010397980/article/details/90341223 大佬提供的代码,帮助省去很多...

    本文代码参考https://blog.csdn.net/u010397980/article/details/90341223

    只做个笔记使用

    参考代码如下

    #coding:utf-8
     
    # pip install lxml
     
    import os
    import glob
    import json
    import shutil
    import numpy as np
    import xml.etree.ElementTree as ET
     
     
     
    path2 = "."
     
     
    START_BOUNDING_BOX_ID = 1
     
     
    def get(root, name):
        return root.findall(name)
     
     
    def get_and_check(root, name, length):
        vars = root.findall(name)
        if len(vars) == 0:
            raise NotImplementedError('Can not find %s in %s.'%(name, root.tag))
        if length > 0 and len(vars) != length:
            raise NotImplementedError('The size of %s is supposed to be %d, but is %d.'%(name, length, len(vars)))
        if length == 1:
            vars = vars[0]
        return vars
     
     
    def convert(xml_list, json_file):
        json_dict = {"images": [], "type": "instances", "annotations": [], "categories": []}
        categories = pre_define_categories.copy()
        bnd_id = START_BOUNDING_BOX_ID
        all_categories = {}
        for index, line in enumerate(xml_list):
            # print("Processing %s"%(line))
            xml_f = line
            tree = ET.parse(xml_f)
            root = tree.getroot()
            
            filename = os.path.basename(xml_f)[:-4] + ".jpg"
            image_id = 20190000001 + index
            size = get_and_check(root, 'size', 1)
            width = int(get_and_check(size, 'width', 1).text)
            height = int(get_and_check(size, 'height', 1).text)
            image = {'file_name': filename, 'height': height, 'width': width, 'id':image_id}
            json_dict['images'].append(image)
            ## Cruuently we do not support segmentation
            #  segmented = get_and_check(root, 'segmented', 1).text
            #  assert segmented == '0'
            for obj in get(root, 'object'):
                category = get_and_check(obj, 'name', 1).text
                if category in all_categories:
                    all_categories[category] += 1
                else:
                    all_categories[category] = 1
                if category not in categories:
                    if only_care_pre_define_categories:
                        continue
                    new_id = len(categories) + 1
                    print("[warning] category '{}' not in 'pre_define_categories'({}), create new id: {} automatically".format(category, pre_define_categories, new_id))
                    categories[category] = new_id
                category_id = categories[category]
                bndbox = get_and_check(obj, 'bndbox', 1)
                xmin = int(float(get_and_check(bndbox, 'xmin', 1).text))
                ymin = int(float(get_and_check(bndbox, 'ymin', 1).text))
                xmax = int(float(get_and_check(bndbox, 'xmax', 1).text))
                ymax = int(float(get_and_check(bndbox, 'ymax', 1).text))
                assert(xmax > xmin), "xmax <= xmin, {}".format(line)
                assert(ymax > ymin), "ymax <= ymin, {}".format(line)
                o_width = abs(xmax - xmin)
                o_height = abs(ymax - ymin)
                ann = {'area': o_width*o_height, 'iscrowd': 0, 'image_id':
                       image_id, 'bbox':[xmin, ymin, o_width, o_height],
                       'category_id': category_id, 'id': bnd_id, 'ignore': 0,
                       'segmentation': []}
                json_dict['annotations'].append(ann)
                bnd_id = bnd_id + 1
     
        for cate, cid in categories.items():
            cat = {'supercategory': 'none', 'id': cid, 'name': cate}
            json_dict['categories'].append(cat)
        json_fp = open(json_file, 'w')
        json_str = json.dumps(json_dict)
        json_fp.write(json_str)
        json_fp.close()
        print("------------create {} done--------------".format(json_file))
        print("find {} categories: {} -->>> your pre_define_categories {}: {}".format(len(all_categories), all_categories.keys(), len(pre_define_categories), pre_define_categories.keys()))
        print("category: id --> {}".format(categories))
        print(categories.keys())
        print(categories.values())
     
     
    if __name__ == '__main__':
        classes = ['bicycle', 'pottedplant', 'tvmonitor']
        pre_define_categories = {}
        for i, cls in enumerate(classes):
            pre_define_categories[cls] = i + 1
        # pre_define_categories = {'a1': 1, 'a3': 2, 'a6': 3, 'a9': 4, "a10": 5}
        only_care_pre_define_categories = True
        # only_care_pre_define_categories = False
     
        train_ratio = 0.9
        save_json_train = 'instances_train2014.json'
        save_json_val = 'instances_val2014.json'
        xml_dir = "./tmp_xml"
     
        xml_list = glob.glob(xml_dir + "/*.xml")
        xml_list = np.sort(xml_list)
        np.random.seed(100)
        np.random.shuffle(xml_list)
     
        train_num = int(len(xml_list)*train_ratio)
        xml_list_train = xml_list[:train_num]
        xml_list_val = xml_list[train_num:]
     
        convert(xml_list_train, save_json_train)
        convert(xml_list_val, save_json_val)
     
        if os.path.exists(path2 + "/annotations"):
            shutil.rmtree(path2 + "/annotations")
        os.makedirs(path2 + "/annotations")
        if os.path.exists(path2 + "/images/train2014"):
            shutil.rmtree(path2 + "/images/train2014")
        os.makedirs(path2 + "/images/train2014")
        if os.path.exists(path2 + "/images/val2014"):
            shutil.rmtree(path2 +"/images/val2014")
        os.makedirs(path2 + "/images/val2014")
     
        f1 = open("train.txt", "w")
        for xml in xml_list_train:
            img = xml[:-4] + ".jpg"
            f1.write(os.path.basename(xml)[:-4] + "\n")
            shutil.copyfile(img, path2 + "/images/train2014/" + os.path.basename(img))
     
        f2 = open("test.txt", "w")
        for xml in xml_list_val:
            img = xml[:-4] + ".jpg"
            f2.write(os.path.basename(xml)[:-4] + "\n") 
            shutil.copyfile(img, path2 + "/images/val2014/" + os.path.basename(img))
        f1.close()
        f2.close()
        print("-------------------------------")
        print("train number:", len(xml_list_train))
        print("val number:", len(xml_list_val))

    把VOC数据的XML标注文件和图片放到和代码文件同一个目录下的tmp_xml文件内,再运行代码,即可完成转换。

    致谢

    感谢https://blog.csdn.net/u010397980/article/details/90341223大佬提供的代码,帮助省去很多时间。

    未经大佬同意使用代码,还请见谅!

     

    展开全文
  • 使用qemu-img转换镜像格式

    千次阅读 2020-05-03 17:38:35
    我们会常常接触到镜像,除了我们常用vmdk镜像外,还有很多诸如vhd、qcow2、raw、vhdx、qcow、vdi、qed、zvhd或zvhd2等镜像,这次我们就来介绍一下,如果我们拿到的是一个qcow2类型的镜像那么我们如何将其转换为vmdk ...
  • img镜象格式转换软件是虚拟机转换格式的软件,让你支持不通操作系统和不同exsi和pve的软件工具好用。
  • xps格式转换img

    2012-12-21 09:51:23
    xps2img 是一个小的工具,允许您将微软 XPS 文档转换为常见的图像格式 (JPG、 PNG、 TIFF、 BMP、 GIF)。
  • 写在前面的话: ...自从Facebook开源了Detectron目标检测框架后,很多原先用VOC格式数据集(指标注文件)训练目标检测模型的人需要将VOC格式的xml标注文件转换成COCO格式的json标注文件,但Detect...
  • KVM:将img文件转换成qcow2格式的镜像

    千次阅读 2019-07-16 12:25:47
    这时将虚机文件转换成镜像,以后需要在拉起虚机的时候直接使用这个镜像来启动虚机,省时省力省心! 基础环境: 首先将需要频繁拉起来的虚机安装好,将需要软件都安装好; 接着,我们需要将这个虚机的硬盘...
  • dmg转img格式工具

    2018-01-13 08:58:20
    一个命令行工具,把苹果系统的dmg格式转换为标准磁盘映像IMG DMG files are specific to the MAC OS S operating system and you need a specialized program to open them in Windows. But this compatibility ...
  • 一个可以把IMA和IMZ和VFD转换成IMG的工具
  • 为您提供qemu-img 磁盘镜像格式转换工具下载,qemu-img(磁盘镜像格式转换工具)是一款能够对虚拟磁盘进行创建、转换和修改的工具,利用软件能够轻松的转换镜像的格式,将vmdk、vhdx、qcow2、vdi进行相互转换,软件...
  • img格式镜像转ISO格式

    千次阅读 2018-12-22 21:16:00
    在做汇编学习时,需要用比较老的Windows XP来进行调试学习,因此找了最老的Windows XP...想到之前在做自动装机的时候用到的工具ultraISO,这个工具很强大,能够支持很多格式,并进行编辑、保存、转换,因此尝试用ul...
  • matlab代码将img图像转换为视频格式

    千次阅读 2019-09-18 10:56:54
    framesPath = 'D:\04测试序列\Benchmark_sequences\Board\img\';%图像序列所在路径,同时要保证图像大小相同 videoName = 'Bolt';%表示将要创建的视频文件的名字 fps = 25; %帧率 startFrame = 1; %从哪一帧开始 ...
  • img 格式相互转换 url, base64,blob, file

    千次阅读 2019-07-29 19:51:54
    正常向后端传的文件就是file格式,存储到文件服务器 url -> base64 -> file url -> blob -> file url -> base64 -> blob -> file url -> base64 canvas.toDataURL('image/type') ...
  • 使用VirtualBOX将vmdk文件转换成IMG文件

    千次阅读 2015-05-13 16:15:33
    处于需求,现在需要将vmdk文件转换成img文件,我用的是VirtualBox,谷歌所搜过后发现,VirtualBox可以自己直接转换vmdk To IMG,很是方便. 方法是:  使用VirualBox中自带的VBoxManage来转换  在windows中使用cmd...
  • img文件转换成vmdk

    万次阅读 2019-05-28 09:03:10
    qemu-img convert -f raw openwrt.img -O vmdk openwrt.vmdk https://www.qemu.org 转载于:https://blog.51cto.com/singoe/2401154
  • cv2.cvtColor(img,p)图片格式转换的用法

    千次阅读 2019-06-24 16:05:44
    cv2.cvtColor(img,p) 功能:颜色空间转换 参数:img:需要转换的图片 ... p=cv2.COLOR_BGR2RGB :BGR格式转换成RGB格式  p=cv2.COLOR_BGR2GRAY :BGR格式转换成灰度图片 返回值:颜色空间转换后的图片矩阵 ...
  • dat2img格式转换-ROM定制开发教程

    千次阅读 2019-10-09 03:36:06
    Github分享工具下载地址: https://github.com/Loren-Yi/sdat2img 使用说明: ...电脑需要安装Python 3.x以上版本;...解压Android 6.0以上的第三方ROM包,把system.new.dat和system.transfer....3.双击sdat2img.bat...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 138,522
精华内容 55,408
关键字:

怎么转换img格式