Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.02;
Скачать: CL | DM;

Вниз

Как сделать копию экрана, уменьшеную в два раза !?   Найти похожие ветки 

 
delpher_gray ©   (2003-05-22 20:39) [0]

Уважаемые Delpher"ы !!
Помогите решить такую проблему:
Я знаю как сделать скриншот экрана, а вот как его сжать в два раза, и сохранить в файл - незнаю =( Сжать нужно так, чтоб у меня была не четвертинка экрана, а весь но в уменьшенном масштабе.
Я могу вывести сжатый экран в TImage таким образом:

procedure ScreenShot;
var
Desk: TCanvas;
BitMap: TBitMap;
Jpg: TJpegImage;
begin
Desk := TCanvas.Create;
BitMap := TBitMap.Create;
Jpg := TJpegImage.Create;

Desk.Handle := GetDC(Hwnd_Desktop);
BitMap.Width := Screen.Width;
BitMap.Height := Screen.Height;
BitMap.Canvas.CopyRect(BitMap.Canvas.ClipRect, Desk, Desk.ClipRect);

Jpg.Assign(BitMap);
Jpg.JPEGNeeded;

Form1.Image1.Picture.Graphic := Jpg;
TJpegImage(Form1.Image1.Picture.Graphic).Scale := TJpegScale(1);

Jpg.Free;
BitMap.Free;
Desk.Free;
end;


Так у меня на экран выводится изображение, в 2 раза меньше экрана, а вот как его сохранить !? Я пробовал так: [b]Jpg.SaveToFile("screen.jpg");[/b], но так скриншот получается не уменьшенный, а во весь рост !!
Подскажите как решить эту проблему, и желательно сжать изображение без использования TImage !!
Заренее благодарен !


 
MBo ©   (2003-05-23 06:04) [1]

StetchBlt или TCanvas.StretchDraw



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

Текущий архив: 2003.06.02;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.02 c
3-2790
me2
2003-05-14 14:20
2003.06.02
Программное удаление пользователя


1-3004
Top Gun
2003-05-11 14:32
2003.06.02
Передача указателя на функцию


1-2897
dtm
2003-05-22 17:41
2003.06.02
Показать при перетаскивании значения в Hint на курсоре


1-2941
KAA
2003-05-20 18:08
2003.06.02
Отправить сообщение сервису


3-2805
Dion
2003-05-15 06:18
2003.06.02
Как создать файл (*.dbf) на диске, данные из DBGrid -> в файл