Как преобразовать GIF в текст, для встроенного доступа из сценария ТК?
Я видел следующий код в известной утилите tkdiff:
image create photo rediffImage -format gif -data {
R0lGODdhFAAUAPf/AAAAAIAAAACAAICAAAAAgIAAgACAgMDAwMDcwKbK8P/w1P/isf/Ujv/G
......
}
У меня есть изображение GIF для включения в мой сценарий ТК. Как я могу преобразовать его в данные, подобные этим, чтобы мне не пришлось вызывать отдельный файл GIF?
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; остается в силе. Это означает, что вы можете разделить и сделать отступы по своему усмотрению.