Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2015.09.10;
Скачать: [xml.tar.bz2];

Вниз

Скриншот произвольной области   Найти похожие ветки 

 
qpash ©   (2014-10-29 14:23) [0]

Добрый день всем, подскажите пожалуйста, почему функция снятия скриншота произвольной области экрана не работает на Delphi XE4 в приложенном исходнике (на 7-й Delphi работает отлично)

Исходник взят из
http://delphiexpert.ru/sozdanie-skrinshotera-na-delphi.html


 
brother ©   (2014-10-29 14:38) [1]

> не работает на Delphi XE4

что "говорит"?

из исходников:
Sleep(750);  // ждем немного, чтобы приложение успело скрыться
ересь...


 
qpash ©   (2014-10-29 14:46) [2]

В 7-й Delphi нажимая на кнопку "Произвольная область" можно выбрать мышью диапазон в прямоугольнике и он благополучно попадает в первой форме в Timage, но в Delphi XE3 или 4 в Timage скриншот не попадает и ошибки при этом нет


 
qpash ©   (2014-10-29 14:50) [3]

Sleep(750);
ставил в разные места, все-равно не работает


 
qpash ©   (2014-10-29 14:52) [4]

Наоборот убрал Sleep(750);
Но все-равно не пашет


 
Rouse_ ©   (2014-10-29 19:42) [5]

ибо with зло первостатейное!

перепиши вот так:

function CaptureScreenRect(aRect: TRect): TBitMap;
var
 ScreenDC: HDC;
begin
 Result := TBitMap.Create;
 Result.Width := aRect.Right - aRect.Left;
 Result.Height := aRect.Bottom - aRect.Top;
 ScreenDC := GetDC(0);
 try
   BitBlt(Result.Canvas.Handle, 0, 0, Result.Width, Result.Height, ScreenDC, aRect.Left, aRect.Top, SRCCOPY);
 finally
   ReleaseDC(0, ScreenDC);
 end;
end;


 
Rouse_ ©   (2014-10-29 19:45) [6]

Да и работает не правильно, у меня два монитора, основной справа, второстепенный слева, полный экран берется только с основного - а почему?

Ну и соответственно на второстепенное окно не рассчитан вывод второй формы, посредством которой снимается произвольная область.

Так себе поделка, в итоге.


 
Eraser ©   (2014-10-30 03:29) [7]


> GetDC(0);

лютое зло )

CreateDC(PChar("DISPLAY"), nil, nil, nil);


 
qpash ©   (2014-10-30 06:39) [8]

Спасибо, все получилось!


 
Rouse_ ©   (2014-10-30 19:29) [9]


> Eraser ©   (30.10.14 03:29) [7]

А в чем цимус?



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2015.09.10;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.049 c
2-1398170461
rumma
2014-04-22 16:41
2015.09.10
buttonededit, imagelist и vcl style


15-1414182614
Юрий
2014-10-25 00:30
2015.09.10
С днем рождения ! 25 октября 2014 суббота


15-1416917657
AndrewAndrey
2014-11-25 15:14
2015.09.10
Размер шрифта при печати


15-1417210278
Юрий
2014-11-29 00:31
2015.09.10
С днем рождения ! 29 ноября 2014 суббота


15-1414322069
Amir
2014-10-26 15:14
2015.09.10
обновление MS SQL





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский