【问题标题】:get image output by KineticJS in php在 php 中通过 KineticJS 获取图像输出
【发布时间】:2014-01-16 03:06:26
【问题描述】:

我正在使用 kineticJS 制作图表,所以它是一个 html 页面,可以在 Div 中生成图表绘图。在 php 中,我想在生成的 pdf 中包含该图表的图像。 KineticJS 可以将画布转换为图像,但是如何在 php 脚本中获取该图像?

我想要的是类似的东西

<?php
  $html="<img src='graph.html?x=20'></img>";
  pdf->AddHTML($html);
  $pdf->output();
?>

我有点不知道该怎么做。理想情况下,pdf 还应该嵌入图像。我不是在问pdf的东西。我基本上是在问如何将 KineticJS 生成的图像转换为 php 脚本,作为 base64 数据或其他。

我是否需要运行 phantomJS 之类的东西才能做到这一点?

【问题讨论】:

    标签: javascript php html kineticjs


    【解决方案1】:

    可以使用toDataURL函数获取图片,然后上传到php中

    stage.toDataURL({
        callback: function(dataUrl) {
            /*
             * here you can do anything you like with the data url.
             * In this tutorial we'll just open the url with the browser
             * so that you can see the result as an image
             */
             window.open(dataUrl);
         }
    });
    

    http://www.html5canvastutorials.com/kineticjs/html5-canvas-stage-data-url-with-kineticjs/

    【讨论】:

    • 我认为你在正确的轨道上,但“上传到 php”是什么意思? report.php 运行,它调用 graph.html。但是该调用应该是什么样子,我该如何处理 graph.html 中的 dataURL 以“输出它”以便 php 可以得到它?
    • 嗯图片在graph.html里面?如果是这样,我看不出你如何直接从那里获取图像。 src="graph.html" 没有意义,您将应该是图像的内容指向 html 文件。您应该传递一个实际的图像 url 或 base64 编码的图像。
    • graph.html 有 kineticjs 代码来呈现图形。我需要该图作为report.php 中的图像。我也可以让 graph.html 输出 dataurl,但同样,它必须运行。这就是为什么我认为我需要 phantomjs
    • 我使用了 phantomjs,它运行一个简短的脚本,使用参数调用 graph.html 并将其呈现为 base64 图像。该过程需要 1 秒,因此对于我使用它的情况来说是合理的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-13
    • 2018-06-12
    • 1970-01-01
    • 2017-03-24
    • 2010-12-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多