LINUX.ORG.RU

Tk, image rgb24


0

0

Имеется масссив данных представляющии собой стандартное представление rgb24. Есть ли возможность подсунуть это в image photo?

Что бы не конвертить это в строку вида #rrggbb, долго уж очень.

Хочеться сразу как то подсунуть указатель на начало буффера что ли.

Да массив - имеется ввиду массив С++, используется cpptcl

placement_new ★★
() автор топика

man photo

...
-data string
Specifies the contents of the image as a string. The string should contain binary data or, for some formats, base64-encoded data (this
is currently guaranteed to be supported for GIF images). The format of the string must be one of those for which there is an image file
format handler that will accept string data. If both the -data and -file options are specified, the -file option takes precedence.

gaa ★★
()
Ответ на: комментарий от placement_new

> Ну что то в толк не возьму. Вот есть Tcl::interpreter i и std::vector<unsigned char>.

Применяешь к vector.data() функцию Tcl_NewByteArrayObj. Далее этот объект скармливаешь через Tcl_EvalObjv в скрипт "image create photo $img".

gaa ★★
()
Ответ на: комментарий от gaa

разумеется, следует проверить, что тип картинки "массив rgb24" известен image-у. Ну и поменяй функции сишного интерфейса на их аналоги в плюсовой обёртке.

gaa ★★
()
Ответ на: комментарий от placement_new

> Неужели остаетя только самому конвертить в #rrggbb

Можешь написать плагин для его поддержки.

gaa ★★
()
Ответ на: комментарий от placement_new

> и плагин будет быстрее работать нежели самопальный перевод?

Очевидно. Тебе как минимум не потребйется преобразовывать в #нотацию, а будешь гонять прямо байты.

gaa ★★
()
Ответ на: комментарий от placement_new

> А можно в двух словах описать этот процесс навписания плагина и направление движения

Направление --- маны от tkimg. Глубже я не влезал.

gaa ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.