Главная страница
    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.047 c
1-1332249209
Димка На
2012-03-20 17:13
2015.09.10
Вертикальный TBitmap.ScanLine


15-1417987802
Юрий
2014-12-08 00:30
2015.09.10
С днем рождения ! 8 декабря 2014 понедельник


15-1417728602
Юрий
2014-12-05 00:30
2015.09.10
С днем рождения ! 5 декабря 2014 пятница


15-1417300204
Юрий
2014-11-30 01:30
2015.09.10
С днем рождения ! 30 ноября 2014 воскресенье


15-1413029873
Kerk
2014-10-11 16:17
2015.09.10
Orpheus,Abbrevia,VirtualTree,SynEdit,LockBox,AsyncPro,PowerPDF





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский