• <menu id="w2i4a"></menu>
  • logo GoJS教程2020

    文檔首頁>>GoJS教程2020>>流程圖控件GoJS教程:如何制作影像

    流程圖控件GoJS教程:如何制作影像


    GoJS是一款功能強(qiáng)大,快速且輕量級(jí)的流程圖控件,可幫助你在JavaScript 和HTML5 Canvas程序中創(chuàng)建流程圖,且極大地簡(jiǎn)化您的JavaScript / Canvas 程序。

    點(diǎn)擊下載GoJS最新版

    GoJS具有用于創(chuàng)建圖像的兩個(gè)功能:Diagram.makeImageData,它輸出一個(gè)Base64圖像數(shù)據(jù)串,和Diagram.makeImage,這是一個(gè)方便的功能調(diào)用Diagram.makeImageData并返回一個(gè)新HTMLImageElement與圖像數(shù)據(jù)作為其源。這兩個(gè)函數(shù)具有相同的單個(gè)參數(shù),即JavaScript對(duì)象,其中包含幾個(gè)可定義的屬性,在文檔中進(jìn)行了枚舉。
    該頁面幾乎與制作SVG上的頁面相同,該頁面顯示了如何渲染SVG元素而不是PNG圖像。

    流程圖控件GoJS教程:如何制作影像
    調(diào)用不帶參數(shù)或?qū)傩詫?duì)象為空的makeImage會(huì)生成與圖的視口大小相同的圖像。
    myDiagram.makeImage();
    使用“ scale”屬性設(shè)置為1的對(duì)象調(diào)用makeImage會(huì)生成包含整個(gè)圖的圖像,而不僅僅是視口中可見的區(qū)域。但是,將修剪文檔邊界周圍的空白區(qū)域。
    myDiagram.makeImage({
      scale: 1
    });
    流程圖控件GoJS教程:如何制作影像
    設(shè)置比例尺屬性將創(chuàng)建一個(gè)比例縮放的圖像,該圖像恰好足以容納該圖。下圖以2的比例創(chuàng)建。
    myDiagram.makeImage({
      scale: 2
    });
    通過設(shè)置makeImage的size選項(xiàng)創(chuàng)建以下圖像。請(qǐng)注意,畫布是均勻縮放的,任何多余的空間都放在圖像的底部或右側(cè)。
    myDiagram.makeImage({
      size: new go.Size(100,100)
    });
    通過設(shè)置makeImage的size選項(xiàng)也可以創(chuàng)建以下圖像,但是只設(shè)置了寬度。高度將是統(tǒng)一包含圖表所需的任何大小。
    myDiagram.makeImage({
       size:new go.Size(100,NaN)
    });
    零件選項(xiàng)允許我們指定要繪制的零件的可迭代集合。如果只想對(duì)圖的一部分(例如選擇節(jié)點(diǎn))進(jìn)行圖像處理,這將很有用。
     myPartsList = new go.List();
      myPartsList.add(myDiagram.findNodeForKey("Beta"));
      myPartsList.add(myDiagram.findNodeForKey("Delta"));
    myDiagram.makeImage({
      parts: myPartsList
    });
    流程圖控件GoJS教程:如何制作影像
    或者只是簡(jiǎn)單地繪制鏈接:
    myDiagram.makeImage({
       parts:myDiagram.links
    });
    流程圖控件GoJS教程:如何制作影像
    同時(shí)設(shè)置縮放比例和尺寸將創(chuàng)建一個(gè)圖像,該圖像將被專門縮放并裁剪為給定的尺寸,如下圖所示。
    myDiagram.makeImage({
      scale: 1.5,
      size: new go.Size(100,100)
    });

    流程圖控件GoJS教程:如何制作影像

    我們可能需要一個(gè)非常大的縮放圖像,該圖像的大小受到限制,我們可以使用maxSize屬性來限制一個(gè)或兩個(gè)尺寸。下圖應(yīng)用了非常大的比例,但是水平尺寸受到限制,因此將發(fā)生一些水平裁剪。

    maxSize的默認(rèn)值為go.Size(2000, 2000),并且指定go.Size(600, NaN)等效于指定go.Size(600, 2000)。如果我們不想在高度上裁剪,我們可以寫go.Size(600, Infinity)。
    myDiagram.makeImage({
       scale:9,
       maxSize:new go.Size(600,NaN)
    });
    同時(shí)設(shè)置位置和大小會(huì)創(chuàng)建一個(gè)圖表圖像,該圖像專門定位并裁剪為給定的大小。設(shè)置位置但未設(shè)置比例尺時(shí),比例尺默認(rèn)為1。
    myDiagram.makeImage({
      position: new go.Point(20,20),
      size: new go.Size(50,50)
    });
    將背景設(shè)置為CSS顏色字符串將用給定的顏色替換透明的Diagram背景。
    myDiagram.makeImage({
       size:new go.Size(NaN,250),
       background:“ rgba(  0,255,0,0.5 )” //半透明的綠色背景
    });

    流程圖控件GoJS教程:如何制作影像

    在下面的代碼中,我們使用文檔邊界將Diagram分成四個(gè)相等的部分,從而在每個(gè)部分中制作出四個(gè)圖像。通過這種方式,我們可以為分頁,制作圖庫或打印目的準(zhǔn)備圖像。創(chuàng)建的四個(gè)圖像如下所示。

    var d = myDiagram.documentBounds;
        var halfWidth = d.width / 2;
        var halfHeight = d.height / 2;
        img = myDiagram.makeImage({
                position: new go.Point(d.x, d.y),
                size: new go.Size(halfWidth,halfHeight)
              });
        addImage(img); // Adds the image to a DIV below
    
        img = myDiagram.makeImage({
                position: new go.Point(d.x + halfWidth, d.y),
                size: new go.Size(halfWidth,halfHeight)
              });
        addImage(img);
    
        img = myDiagram.makeImage({
                position: new go.Point(d.x, d.y+ halfHeight),
                size: new go.Size(halfWidth,halfHeight)
              });
        addImage(img);
    
        img = myDiagram.makeImage({
                position: new go.Point(d.x + halfWidth, d.y + halfHeight),
                size: new go.Size(halfWidth,halfHeight)
              });
        addImage(img);
    流程圖控件GoJS教程:如何制作影像
    圖像類型

    我們可以設(shè)置參數(shù)對(duì)象的類型和詳細(xì)信息屬性,以檢索不同種類的圖像。唯一受廣泛支持的類型是“ image / jpeg”。jpeg的詳細(xì)信息通過使用0到1之間的值(包括0和1)來確定其質(zhì)量。Jpegs通常不用于圖表,因?yàn)樗鼈兊挠袚p壓縮會(huì)導(dǎo)致文本不可讀。

    下圖是輸出的jpeg。請(qǐng)注意透明背景如何變?yōu)楹谏?,因?yàn)閖peg格式不支持alpha透明,并且HTML5畫布的默認(rèn)狀態(tài)是完全透明的黑色像素rgba(0,0,0,0)。

    myDiagram.makeImage({
       scale:1,
       type:“ image / jpeg”
    });

    流程圖控件GoJS教程:如何制作影像

    下圖是使用指定的AntiqueWhite背景創(chuàng)建的jpeg。

    myDiagram.makeImage({
      scale: 1,
      background: "AntiqueWhite",
      type: "image/jpeg"
    });
    流程圖控件GoJS教程:如何制作影像
    下圖是創(chuàng)建的jpeg(具有AntiqueWhite背景)和details選項(xiàng),但質(zhì)量很低。
    myDiagram.makeImage({
      scale: 1,
      background: "AntiqueWhite",
      type: "image/jpeg",
      details: 0.05
    });

    下載圖像

    如果您希望用戶下載圖像,則無需涉及Web服務(wù)器。請(qǐng)參閱樣本“ 最小斑點(diǎn)”。請(qǐng)注意,該示例僅下載單個(gè)圖像。
    如果用戶可以接受該選擇,建議您使用SVG下載圖像。該樣本位于最小SVG處。

    想要購買GoJS正版授權(quán),或了解更多產(chǎn)品信息請(qǐng)點(diǎn)擊【咨詢?cè)诰€客服】

    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();