Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование в *nix (http://forum.oszone.net/forumdisplay.php?f=35)
-   -   Пересылка рисунков по сети. (http://forum.oszone.net/showthread.php?t=50070)

ruslandh 03-06-2005 22:58 329917

Пересылка рисунков по сети.
 
У меня на работе возникла одна "загвоздка". Есть две машины - одна в Windows, другая в Linux. (На каждой работают две группы программистов - я их как-бы стыкую, подсказываю решение).
Программа в Windows в заданный (случайный, или по сигналу от первой машины) момент должна переслать изображение своего дисплея (скриншот экрана) на машину в Linux.
Не долго думая, они решили переслать его в формате bmp с 16-ти разрядным цветом. Но программы (известные мне библиотеки) могут работать только или с 8-ми битным цветом, или с 24-битным.

Посему вопрос - что, Windows может создавать только 16-разрядный bmp ?
Может мне кто-нибудь подскажет библиотеки Линукс, которые могут работать с 16-разрядным bmp ?

Может кто-нибудь поскажет другой формат, который быстро можно "снять с экрана" в Windows и переслать в Linux (тут важно, что-бы задачи не тормозили во время этих операций, т.к. это "второстепенная" для них функция) Может какой-нибудь векторный формат который одинаково и быстро обрабатываются в этих OS?
Желательны ссылки (на сайты и библиотеки).

PS Желательно без всяких закрытых форматов.

hasherfrog 07-06-2005 13:32 330667

Думал-думал...

>> Посему вопрос - что, Windows может создавать только 16-разрядный bmp ?
Имхо, нет. Там надо помудрить с CreateCompatibleDC емнип.

>> Может мне кто-нибудь подскажет библиотеки Линукс, которые могут работать с 16-разрядным bmp ?
У gimp есть (конечно же :]) поддержка bmp
http://www.gimp.org/source/
Только придётся "выдирать" нужные куски, наверное. Не знаю.

>> Может какой-нибудь векторный формат
Вот это сильно вряд ли. Слово "Векторный" тут в контексте (имхо) вообще не должно звучать.

PS> Всё-таки я не совсем понял, вы хотите быстро читать? Или быстро снимать? Или быстро передавать? Тут всё зависит от того, с "какой стороны", на какой ОС будет делаться бОльшая часть работы. Графические библиотеки-то есть и там, и там :[

archy 07-06-2005 21:16 330834

хреначить в png...

hasherfrog 07-06-2005 21:37 330839

archy
PNG стал дефакто стандартом только недавно - хотя заявлялся таковым уже давно. Собственно, после "закрытия" tiff и jpg, афаик (могу путать). Поэтому на старых ОС типа win98 или "голого дистра" старого slackware может попросту не оказаться средств (стандартных библиотек). Конечно, интернет в помощь, но ведь именно это мы и обсуждаем ? :]

ruslandh 07-06-2005 22:37 330864

Ну Windows там W2k, а Linux - дистрибутив сам собираю из нужных пакетов. Так, что если надо могу и добавит сам. Только что ?

C png очень подходит (в Linux его выдать не проблема), только как с Windows (я его практически не знаю).

ruslandh 07-06-2005 22:58 330868

Цитата:

Всё-таки я не совсем понял, вы хотите быстро читать? Или быстро снимать? Или быстро передавать?
Скорее незаметно для основной функции программы - пусть хоть секунду читает и передаёт. А снимать надо быстро (но тоже не доли секунды) , а то кадр расплывётся. Главное что-бы не тормозились остальные функции работы этой программы, не было излишней занятости процессора на перекодировку. Это расчётная задача по введённым данным оператора (Windows) которая может решаться циклично, результат которой лучше всего воспринимается визуально - надо показать её результат другому оператору (Linux) для ознакомления.
PS Короче сидят два оператора - у одного свои функции (решение этой задачи), у другого свои (наблюдение за ходом решения всех задач плюс кучка своих), когда кто-то из них захочет показать (или посмотреть) текущеее решение этой задачи, надо переслать картинку и показать eё. Все сетевые вопросы решены - загвоздка именно в формате передаваемой картики.



hasherfrog 07-06-2005 23:57 330882

>> C png очень подходит
Мда. Посмотрел реализацию поддержки png в Qt для виндов... Одуреешь.
Надо другие либы какие-то искать... Пошукаю.

archy 08-06-2005 11:26 330989

Первое, что попалось:
http://www.libpng.org/pub/png/libpng.html
http://www.sources.ru/cpp/cpp_cximage.shtml
hasherfrog
А зачем использовать qt для виндов?

hasherfrog 14-06-2005 15:04 332693

archy Что значит "зачем"? Затем. Я кроссплатформенные вещи пишу.

P.S. По png, сорри за задержку, я вышел по ссылкам туда же, что и archy:
Дальше там по ссылкам http://sourceforge.net/project/showf...ckage_id=16183

ruslandh 14-06-2005 23:06 332802

Спасибо всем за ответы :)

archy 21-06-2005 14:31 334925

hasherfrog
Я имел ввиду в данном контексте... :)


Время: 07:54.

Время: 07:54.
© OSzone.net 2001-