Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 19.06.2008, 10:58
Interface Interface вне форума
Активный
 
Регистрация: 23.05.2008
Адрес: Россия, Уфа
Сообщения: 203
Репутация: 1
Печаль Вопрос о скриншотах

Как проще всего снять скриншот с части экрана? Подскажите кто-нибудь
...
Еще пара вопросов.....
1) Видел в "Архиве исходников" прогу "X-kill", она убивала процесс на который наведена мышь. Помогите сделать похожую, но что бы она убивала процесс если известно имя процесса. Очень надо.
2) Там же видел ряд статей посвященных DelphiX, (там описывалось создание небольшой игры с 2 игроками) но в нем я ничего не смыслю, мне понравился кусук программы отвечающий за движение первого игрока. Как сделать этот кусок без 'sin' и 'cos', если так можно?...

Последний раз редактировалось Interface, 19.06.2008 в 11:21.
Ответить с цитированием
  #2  
Старый 19.06.2008, 11:24
san-46 san-46 вне форума
Активный
 
Регистрация: 25.04.2008
Сообщения: 383
Репутация: 33
По умолчанию

Если без Delphi, то надо найти программу, которая умеет это делать. Таких программ великое множество. Windows своими штатными средствами может только снимать либо весь экран, либо активное окно.
Если в программе на Delphi то так (источник DelphiWorld, успешно протестировано на D7):
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  DT: HDc;
  DTCanvas: TCanvas;
  DTRect: TRect;
begin
  DT := GetWindowDC(GetDeskTopWindow);
  DTCanvas := TCanvas.Create;
  DTCanvas.Handle := DT;
  DTRect := Rect(0, 0, 200, 200); //указываем координаты куска экрана для съемки
  Image1.Canvas.CopyRect(DTRect, DTCanvas, DTRect);
  ReleaseDC(GetDeskTopWindow, DT);
  DTCanvas.Free;
end;
__________________
Не забывайте делать резервные копии

Последний раз редактировалось san-46, 19.06.2008 в 11:45.
Ответить с цитированием
  #3  
Старый 19.06.2008, 11:38
Interface Interface вне форума
Активный
 
Регистрация: 23.05.2008
Адрес: Россия, Уфа
Сообщения: 203
Репутация: 1
Хорошо

Спасибо!
А насчет других вопросов не в курсе?..
Ответить с цитированием
  #4  
Старый 19.06.2008, 11:41
san-46 san-46 вне форума
Активный
 
Регистрация: 25.04.2008
Сообщения: 383
Репутация: 33
По умолчанию

Насчет других вопросов, не в курсе. Может кто из знающих заглянет в эту тему. Вчера сделал запрос по слову DelphiX - вывалилось где-то 2000 стр. Так что можно посмотреть и в эту сторону.
__________________
Не забывайте делать резервные копии

Последний раз редактировалось san-46, 19.06.2008 в 11:46.
Ответить с цитированием
  #5  
Старый 19.06.2008, 11:55
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,907
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

Синусы и косинусы
Ответить с цитированием
  #6  
Старый 19.06.2008, 12:05
xchrom xchrom вне форума
Начинающий
 
Регистрация: 08.04.2008
Сообщения: 177
Репутация: 15
По умолчанию

Вот примерчик разыскал:
на форму Image кидаешь, в него копируется и сохраняеться кусочек.

Код:
    
procedure TForm1.Button1Click(Sender: TObject);
var
  i: TJPEGImage;
begin
  try
    i := TJPEGImage.create;
    try
      i.CompressionQuality := 100;
      Canv := TCanvas.Create;
      Canv.Handle := GetDC(0);
      DRect.Left   := 0;
      DRect.Top    := 0;
      DRect.Right  := 200;
      DRect.Bottom := 200;
      image.Width  := DRect.Right - DRect.Left;
      image.height := Drect.Bottom - DRect.Top;
      Image.Canvas.CopyRect(DRect, Canv, DRect);
      i.assign(Image.Picture.Bitmap);
      I.SaveToFile('c:\MyFile.jpg');
    finally
      i.free;
    end;
  except
  end;
end;
Ответить с цитированием
  #7  
Старый 19.06.2008, 12:39
Аватар для Genry
Genry Genry вне форума
Начинающий
 
Регистрация: 14.04.2008
Адрес: с. Россия, г. Курган
Сообщения: 160
Версия Delphi: 7
Репутация: 10
Хорошо

Я сам пишу игрушку с DelphiX. Информацию взял с http://www.gamedev.ru/users/hex/articles/DelphiX
__________________
http://forceway.ru/
Ответить с цитированием
  #8  
Старый 19.06.2008, 17:28
Interface Interface вне форума
Активный
 
Регистрация: 23.05.2008
Адрес: Россия, Уфа
Сообщения: 203
Репутация: 1
По умолчанию

Понимаете, тут дело обстоит так. Я пишу небольшую игру и мне очень надо сделать так что бы вот этот кусочек:
"Procedure TPlayerone.DoMove(MoveCount: Integer);
begin
inherited DoMove(MoveCount);
x:=x+cos256(Angle)*speed; //обработчик движения по X
y:=y+sin256(Angle)*speed; //обработчик движения по Y
if y <= form1.DXDraw1.SurfaceHeight-image.Height then
y := form1.DXDraw1.SurfaceHeight-image.Height;
if x <= form1.DXDraw1.SurfaceWidth -image.Width then
x := form1.DXDraw1.SurfaceWidth -image.Width;
if y >= 0 then
y := 1;
if x >= 0 then
x:=1;
begin
speed:=0; //когда ничего не делаем, скорость равна 0
if isLeft in Form1.DXInput1.States then angle:=angle-5;
if isRight in Form1.DXInput1.States then angle:=angle+5;
if isup in Form1.DXInput1.States then speed:=4;
if isDown in Form1.DXInput1.States then speed:=-4;
end;
end;
" (Взят из FAQ этого сайта и заново просмотрен на сайте ,указанном выше )
А точнее именно этот
"x:=x+cos256(Angle)*speed; //обработчик движения по X
y:=y+sin256(Angle)*speed; //обработчик движения по Y"
работал без "COS" и "SIN". Я плохо разбираюсь в DelphiX и поэтому хотелось бы обойтсь без него. То есть хотелось бы в результате что бы все работало точно также, но без DelphiX.
Ответить с цитированием
  #9  
Старый 19.06.2008, 17:31
Interface Interface вне форума
Активный
 
Регистрация: 23.05.2008
Адрес: Россия, Уфа
Сообщения: 203
Репутация: 1
По умолчанию

Спасибо XCHROM за приведенную инфу
Ответить с цитированием
  #10  
Старый 19.06.2008, 17:49
Interface Interface вне форума
Активный
 
Регистрация: 23.05.2008
Адрес: Россия, Уфа
Сообщения: 203
Репутация: 1
Восклицание

Люди плиз объясните как програмно завершить процесс зная его имя?!
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 01:43.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025