Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вывести скриншот формы в JPG ? Как? 
:(
    Опции темы
Данкинг
Дата 7.3.2007, 21:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

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



Собственно, вопрос: как содержимое формы записать в графический файл, к примеру, JPG ?


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
FFFFFFF7
Дата 7.3.2007, 21:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Смотри на:
keybd_event + VK_SNAPSHOT
Где в keybd_event() третий параметр поставь "1"...
А дальше - достать из буфера рисунок...
--------------------
Да помоги кодеру, а значит - ближнему своему!
PM MAIL   Вверх
codelord
Дата 7.3.2007, 22:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 777
Регистрация: 7.5.2005
Где: ты моя темноглаза я где?!

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



Скриншот экрана сделать и сохранить в файл можно такой функцией 

Код

void screenshot(void)
 {
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();
//-----------------------
SYSTEMTIME systime;
GetLocalTime(&systime);
AnsiString namefile;
namefile=AnsiString(systime.wYear)+"-"+AnsiString(systime.wMonth)+"-"+AnsiString(systime.wDay)+" "+AnsiString(systime.wHour)+"-"+AnsiString(systime.wMinute)+"-"+AnsiString(systime.wSecond)+".jpg";
jp->SaveToFile(namefile);
}
__finally    
 {
  delete Canvas;
 delete jp;
 delete bmp;
 }
}

добавляем хедер #include <vcl/jpeg.hpp> 
вызываем просто как 

screenshot(); 
название созданного файла зависит от времени создания скрина


--------------------
Доступен поиск по исходным кодам в GOOGLE.
http://www.google.com/codesearch
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

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

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

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

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


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

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


 




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


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

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