![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Народ как на WinAPI сделать скриншот желательно в jpeg? [D6, Win2k]
SVM © (2002-09-29 08:05:00)Помогите, может есть в WinApi функции конвертирования Bitmap -> JPEG. Если есть подскажите, если нет может кто-то писал ее...
Заранее всем спасибо
Evgeny (2002-10-12 07:38:00) [1]Если хочешь сохранять в JPEG, то действительно маленький размер получить невозможно, а вот с GIF`ом можно сделать очень даже компактно
afro@sibovk.omskcity.com
subj: Bitmap -> GIF
иначе уйдет в помойку.
bytebutcher (2002-10-12 03:26:00) [2]В WinAPI НЕТУ функций конвертации или записи в JPEG!!!!!!!!!!!
Pumpkin (2002-10-10 13:16:00) [3]Маленький не получится. Любой код сжимающий в JPEG займет не намного меньше чем при uses Jpeg;
relict (2002-10-10 13:07:00) [4]это тебе батенька тогда С++ нужен
SVM (2002-10-10 11:39:00) [5]Дык я говорю размер исполняего файла должен быть маленьким
Rouse_ (2002-10-10 00:21:00) [6]Дык ЁПРСТ чем тебя код то не устраивает скажи? Все правильно дали
Желаю успехов
SVM (2002-10-10 00:15:00) [7]Вопрос остается в силе...
SVM (2002-10-09 12:14:00) [8]Вопрос остается в силе...
Rouse_ (2002-10-09 00:28:00) [9]> (я так думаю, что это проще чем в JPEG
Проще чем JPEG.Assign(Bitmap)? Ну-ну.
Я так понимаю ты хочешь чтоб программа была маленькой, раз маленькой значит опять какаято пакость опять пишется (или я не прав?). Чем тебе этот то пример не подходит обьясни?
Кстати присулайся к совету > k (07.10.02 15:28)
Желаю успехов
SVM (2002-10-09 00:12:00) [10]Смотрел я этот FastLIB, дык там нужна dll-ка...
Народ ну помогите!!! Может у кого-нить есть исходники конвертирования BITMAP в GIF (я так думаю, что это проще чем в JPEG).
k (2002-10-07 15:28:00) [11]ходят слухи, что чистый WinAPI понятия не имеет про jpeg или gif
Можно сделать как FastLIB c intel jpeg library
или через OLE исп. к.н. софт, например эксплорер.
либо почитать док и написать самому.
если я заблуждаюсь, поправьте меня
SVM (2002-10-07 14:59:00) [12]Я же говорил, что на чистом API, можно в GIF
Rouse_ (2002-10-05 17:23:00) [13]Немного подправлю пример
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-04 22:20:00) [14]Мне надо скриншот сделать программно на чистом WinAPI, можно в JPEG, можно в GIF.
sancho (2002-10-04 21:54:00) [15]Руками
printscreen - копироние содержимого экрана в клипборд
alt + printscreen - копирование активного окна
Ну а потом тащи в рисовалку!!!!
k (2002-10-03 12:32:00) [16]скачай FastLIB библиотеку (ссылка есть на DelphiGFX). она использует intel jpeg library на чистом WinApi
Александр Подбрезский (2002-10-03 12:20:00) [17]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 загоняет
Manulo (2002-09-29 16:44:00) [18]Ich Hasse: А ты давно то по хатке прохаживался?
KaPaT (2002-09-29 12:59:00) [19]В FAQ поискать не дано, нет?
Ich Hasse (2002-09-29 12:25:00) [20]посмотри на www.xatka.vov.ru там в приколах находится такой как переворачивание экрана, почитай, он как раз считывает с экрана содержимое и переворачивает его...