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

Вниз

Народ как на WinAPI сделать скриншот желательно в jpeg?   Найти похожие ветки 

 
SVM   (2002-09-29 08:05) [0]

Помогите, может есть в WinApi функции конвертирования Bitmap -> JPEG. Если есть подскажите, если нет может кто-то писал ее...
Заранее всем спасибо


 
Ich Hasse ©   (2002-09-29 12:25) [1]

посмотри на www.xatka.vov.ru там в приколах находится такой как переворачивание экрана, почитай, он как раз считывает с экрана содержимое и переворачивает его...


 
KaPaT ©   (2002-09-29 12:59) [2]

В FAQ поискать не дано, нет?


 
Manulo ©   (2002-09-29 16:44) [3]

Ich Hasse: А ты давно то по хатке прохаживался?


 
Александр Подбрезский   (2002-10-03 12:20) [4]

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls,jpeg;

type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Image1: TImage;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;


implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
var
DC: HDC;
Canva: TCanvas;
B: TBitmap;
JPEG: TJPEGImage;
Bitmap: TBitmap;
begin
Canva := TCanvas.Create;
B := TBitmap.Create;
DC := GetDC(0);
try
Canva.Handle := DC;
with Screen do
begin
B.Width := Width;
B.Height := Height;
B.Canvas.CopyRect(Rect(0, 0, Width, Height), Canva,Rect(0, 0, Width, Height));
B.SaveToFile("C:\Documents and Settings\Alexander.PENTIUM-200-MMX\Desktop\1.jpg");
end
finally
ReleaseDC(0, DC);
B.Free;
Canva.Free;
end;

JPEG := TJPEGImage.Create;
Bitmap := TBitmap.Create;
try
Bitmap.LoadFromFile("C:\Documents and Settings\Alexander.PENTIUM-200-MMX\Desktop\1.jpg");;
JPEG.Assign(Bitmap);
Image1.Picture.Assign(JPEG);
image1.Picture.SaveToFile("C:\Documents and Settings\Alexander.PENTIUM-200-MMX\Desktop\1.jpg");;
finally
JPEG.Free;
Bitmap.Free;
end;
end;



end.
У меня работает. Делает скриншот с десктопа и в jpeg загоняет


 
k   (2002-10-03 12:32) [5]

скачай FastLIB библиотеку (ссылка есть на DelphiGFX). она использует intel jpeg library на чистом WinApi


 
sancho ©   (2002-10-04 21:54) [6]

Руками

printscreen - копироние содержимого экрана в клипборд
alt + printscreen - копирование активного окна


Ну а потом тащи в рисовалку!!!!


 
SVM   (2002-10-04 22:20) [7]

Мне надо скриншот сделать программно на чистом WinAPI, можно в JPEG, можно в GIF.


 
Rouse_ ©   (2002-10-05 17:23) [8]

Немного подправлю пример

procedure TForm1.Button1Click(Sender: TObject);
var
DC: HDC;
Canva: TCanvas;
B: TBitmap;
JPEG: TJPEGImage;
Bitmap: TBitmap;
begin
Canva := TCanvas.Create;
B := TBitmap.Create;
DC := GetDC(0);
try
Canva.Handle := DC;
with Screen do
begin
B.Width := Width;
B.Height := Height;
B.Canvas.CopyRect(Rect(0, 0, Width, Height), Canva,Rect(0, 0, Width, Height));
JPEG.Assign(B);
JPEG.
SaveToFile("C:\Documents and Settings\Alexander.PENTIUM-200-MMX\Desktop\1.jpg");
end
finally
ReleaseDC(0, DC);
B.Free;
Canva.Free;
JPEG.Free;
end;


Так оно правильней будет

Желаю успехов


 
SVM   (2002-10-07 14:59) [9]

Я же говорил, что на чистом API, можно в GIF


 
k   (2002-10-07 15:28) [10]

ходят слухи, что чистый WinAPI понятия не имеет про jpeg или gif

Можно сделать как FastLIB c intel jpeg library
или через OLE исп. к.н. софт, например эксплорер.
либо почитать док и написать самому.

если я заблуждаюсь, поправьте меня



 
SVM   (2002-10-09 00:12) [11]

Смотрел я этот FastLIB, дык там нужна dll-ка...
Народ ну помогите!!! Может у кого-нить есть исходники конвертирования BITMAP в GIF (я так думаю, что это проще чем в JPEG).


 
Rouse_ ©   (2002-10-09 00:28) [12]

> (я так думаю, что это проще чем в JPEG
Проще чем JPEG.Assign(Bitmap)? Ну-ну.
Я так понимаю ты хочешь чтоб программа была маленькой, раз маленькой значит опять какаято пакость опять пишется (или я не прав?). Чем тебе этот то пример не подходит обьясни?

Кстати присулайся к совету > k (07.10.02 15:28)

Желаю успехов



 
SVM   (2002-10-09 12:14) [13]

Вопрос остается в силе...


 
SVM   (2002-10-10 00:15) [14]

Вопрос остается в силе...


 
Rouse_ ©   (2002-10-10 00:21) [15]

Дык ЁПРСТ чем тебя код то не устраивает скажи? Все правильно дали

Желаю успехов


 
SVM   (2002-10-10 11:39) [16]

Дык я говорю размер исполняего файла должен быть маленьким


 
relict   (2002-10-10 13:07) [17]

это тебе батенька тогда С++ нужен


 
Pumpkin   (2002-10-10 13:16) [18]

Маленький не получится. Любой код сжимающий в JPEG займет не намного меньше чем при uses Jpeg;


 
bytebutcher ©   (2002-10-12 03:26) [19]

В WinAPI НЕТУ функций конвертации или записи в JPEG!!!!!!!!!!!


 
Evgeny ©   (2002-10-12 07:38) [20]

Если хочешь сохранять в JPEG, то действительно маленький размер получить невозможно, а вот с GIF`ом можно сделать очень даже компактно
afro@sibovk.omskcity.com
subj: Bitmap -> GIF
иначе уйдет в помойку.



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

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

Наверх




Память: 0.51 MB
Время: 0.025 c
14-82940
vidiv
2002-11-05 15:15
2002.11.25
x97:l97 => Enter => Ctrl+Shift+{кнопочка мастера диаграм}


14-82980
Rammst
2002-11-07 07:22
2002.11.25
Menu


1-82693
K_O_T
2002-11-14 14:36
2002.11.25
Глюк с ListView


8-82867
mk2002
2002-07-15 21:58
2002.11.25
TPicture


6-82883
Schummi
2002-03-24 09:38
2002.11.25
Отправка E-mail ов