Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как можно ускоритть снятие скриншота с экрана ? снятие скриншота очень медленное 
:(
    Опции темы
cenix
Дата 29.3.2005, 16:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


/dev/null
*


Профиль
Группа: Участник
Сообщений: 135
Регистрация: 7.8.2004

Репутация: нет
Всего: 4



Проблема в том, что у меня программа должна снимать картинку довольно быстро, а через данный код, т.е. пересылку Bitmat'a, очень медленно получается, что то около 1 картинки за секунду. Не могу нигде найти, как ускорить это. Где то прочитал, что нужно только отмечать изменения на экране, но все равно при снятии хотя бы 1 скрина, комп ужасть как тормозит..........
Код

void TForm1::GetScreenShot()
{
HDC ScreenDC;
TCanvas *Canvas=new TCanvas;
Graphics::TBitmap *bmp = new Graphics::TBitmap();
TJPEGImage *jp = new TJPEGImage();
try
{
ScreenDC=GetDC(NULL);
Canvas->Handle=ScreenDC;
bmp->Width=Screen->Width;
bmp->Height=Screen->Height;
bmp->Canvas->CopyRect(Rect(0,0,Screen->Width,Screen->Height),
                        Canvas,Rect(0,0,Screen->Width,Screen->Height));
jp->Assign(bmp);
jp->CompressionQuality=50;
jp->Compress();
jp->SaveToFile("d:\\1.jpg");

}
__finally
{
 delete Canvas;
 delete jp;
 delete bmp;
}
}



в общем хелп ми smile)))))))))))))

Это сообщение отредактировал(а) cenix - 30.3.2005, 18:54
PM MAIL   Вверх
oleg1973
Дата 29.3.2005, 17:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

Репутация: нет
Всего: 34



а без компрессии пробовал?
чтото мне подсказывает что оно там и тормазит smile


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
cenix
Дата 30.3.2005, 19:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


/dev/null
*


Профиль
Группа: Участник
Сообщений: 135
Регистрация: 7.8.2004

Репутация: нет
Всего: 4



мдя, в общем я почитал, что это уже никак не ускоришь, в смысле копирование в битмап,
oleg1973
в общем то и без компресии тормозит хорошо........... smile smile

У меня тут появилась новая проблема:
у кого нибудь есть пример пересылки файла по сети на билдере, а то те, которые я ранее видел либо на дельфях, а переделывать их меня что то не тянет, smile а на билдере тоже есть что то очень малопонятное, в инете не смог найти никакой инфы насчет NMStrm компонентов, думаю может мне попробовать через фтп ?....

Это сообщение отредактировал(а) cenix - 31.3.2005, 19:55
PM MAIL   Вверх
NoeR
Дата 1.4.2005, 21:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 233
Регистрация: 6.2.2005

Репутация: нет
Всего: нет



Файлы можно передавать через сокеты...
--------------------
По факту пропажи мужа, возбуждено... Два соседа.Если у Вас проблемы с ребенком, спросите у жены, может, это не Ваши проблемы!>>> NoeR++ <<<
PM MAIL ICQ   Вверх
cenix
Дата 2.4.2005, 16:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


/dev/null
*


Профиль
Группа: Участник
Сообщений: 135
Регистрация: 7.8.2004

Репутация: нет
Всего: 4



я то знаю, что через сокеты, но можно примерчик?
у меня пока что получается только загнать файл в поток, а вот извлечь его пока не могу понять как, т.к. когда отправляюсь, использую метод Socket->SendStream(TStream), а receive есть только
Socket->ReceiveBuffer(void * bufer, int n);
так вот, как мне это обратно принять ???
PM MAIL   Вверх
NoeR
Дата 2.4.2005, 22:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 233
Регистрация: 6.2.2005

Репутация: нет
Всего: нет



Потом поищу исходник, када время будет, а пока можешь поискать в нэте ...должно быть !
Добавлено @ 22:48
Кстати быстрее быть не должно!
Будет я думаю так-же как и вышеуказанный твой вариант ...
--------------------
По факту пропажи мужа, возбуждено... Два соседа.Если у Вас проблемы с ребенком, спросите у жены, может, это не Ваши проблемы!>>> NoeR++ <<<
PM MAIL ICQ   Вверх
cenix
Дата 3.4.2005, 13:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


/dev/null
*


Профиль
Группа: Участник
Сообщений: 135
Регистрация: 7.8.2004

Репутация: нет
Всего: 4



NoeR, буду благодарен за исходник,если что mailto: [email protected], а внете пока что нашел только на дельфях, а как начинаешь переделывать, оказывается, что то класса того нет в bcb, то еще че-нибудь........

PM MAIL   Вверх
cenix
Дата 18.4.2005, 19:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


/dev/null
*


Профиль
Группа: Участник
Сообщений: 135
Регистрация: 7.8.2004

Репутация: нет
Всего: 4



В общем проблему с пересылкой я решил, осталось только та проблема, что очень медленно обновляется скринсшот, а суть заключается, как я понял в том, что тормозит на стадии отправки либо когда jpeg компрессит картинку, и тормозит и получается маленькая картинка, либо если не компрессить, то получается у картинки большой размер и она опять долго пакуется. В общем что мне делать я не знаю, может попробовать поюзать другой класс для jpeg ' а, либо другим форматом попользоватся ........................
PM MAIL   Вверх
NoeR
Дата 24.4.2005, 19:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 233
Регистрация: 6.2.2005

Репутация: нет
Всего: нет



Решение:
Отправлять по кускам монитора - если этот кусок изменился с прошлого раза ..
--------------------
По факту пропажи мужа, возбуждено... Два соседа.Если у Вас проблемы с ребенком, спросите у жены, может, это не Ваши проблемы!>>> NoeR++ <<<
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0481 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.