如何将gif转换为文本,从tk脚本进行内联访问?

时间:2016-03-29 08:50:06

标签: tcl gif tk

我在着名的tkdiff实用程序中看到了以下代码:

image create photo rediffImage -format gif -data {
R0lGODdhFAAUAPf/AAAAAIAAAACAAICAAAAAgIAAgACAgMDAwMDcwKbK8P/w1P/isf/Ujv/G
......
}

我有一个gif图像包含在我的tk脚本中。如何将其转换为这样的数据,以便我不必调用单独的gif文件?

1 个答案:

答案 0 :(得分:1)

它的base64数据。 Tcl 8.6包含一个用于执行转换的命令。

# Read the data in *as binary data*
set f [open yourfile.gif b]
set data [read $f]
close $f

# Do the encoding
set encodedData [binary encode base64 $data]

# Print the encoded version out; it's just plain ASCII text now
puts $encodedData

请注意,您可以为base64数据添加任何空格;它仍然有效。这意味着您可以根据需要拆分和缩进行。