处理tcl中的画布复制问题

时间:2018-08-06 01:31:31

标签: canvas tcl clipboard file-conversion

我在画布中使用Plotchart::createLogXYPlot创建的。 我在同一画布上绘制了几张图。 (在同一画布中使用多个图) 我需要此画布来复制或转换文件格式类型。 但是我正在搜索这个主题,对我没有帮助。

主要问题是保存的具有剪切img的文件。

剪贴板画布不适用于我。 (找不到有关plotchart的标签)

我正在尝试这些方式。

  1. 将画布捕获为img文件格式(剪切麻烦)

    https://nikit.tcl-lang.org/page/Img#2155d00fdc05c6b6b85fa38ed5cd7dda67fd680886245dd51b6f9bcc0ba05a5c

  2. 快照画布(裁切麻烦并花费很多时间)

    https://groups.google.com/forum/#!topic/comp.lang.tcl/Dweb1ExDKhw

  3. 剪贴板画布(无效)

    https://www.tcl.tk/man/tcl/TkCmd/clipboard.htm

  4. 使用Saveplot绘制图表(需要gs(gost脚本),我不会使用它,保存的.ps文件成功)

    How to save Plotchart canvas other than PostScript without displaying it?

我认为,解决img裁剪问题对我来说是最简单的方法。

到目前为止的输出

画布转换文件格式: canvas convert file format Sample

使用快照并转换文件格式: using snapshot and convert file format Sample

原始图: original graph

1 个答案:

答案 0 :(得分:0)

如果要将画布保存到图像,此示例可能会为您提供帮助:

package require Img pack [canvas .c -height 50 -width 50] .c create rectangle 0 0 25 25 -fill blue .c create rectangle 25 25 50 50 -fill green raise . ;# if there's anything over the window on-screen, it'll be obscured in the image update idletasks image create photo theCanvas -format window -data .c theCanvas write "C:\\your\\path\\here\\example.png" -format png

(注意:更新行不在原始行中)

信用:Mike Griffiths in tcl wiki

Saludos,