PDA

Показать полную графическую версию : Пересылка рисунков по сети.


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

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

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

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

hasherfrog
07-06-2005, 13:32
Думал-думал...

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

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

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

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

archy
07-06-2005, 21:16
хреначить в png...

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

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

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

ruslandh
07-06-2005, 22:58
Всё-таки я не совсем понял, вы хотите быстро читать? Или быстро снимать? Или быстро передавать?

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

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

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

hasherfrog
14-06-2005, 15:04
archy Что значит "зачем"? Затем. Я кроссплатформенные вещи пишу.

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

ruslandh
14-06-2005, 23:06
Спасибо всем за ответы :)

archy
21-06-2005, 14:31
hasherfrog
Я имел ввиду в данном контексте... :)




© OSzone.net 2001-2012