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

Вниз

Народ как на 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 вся ветка

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

Наверх





Память: 0.48 MB
Время: 0.012 c
1-82720
vidiv
2002-11-14 05:10
2002.11.25
Надо срочно проверить...


3-82646
Ihor Osov'yak
2002-11-06 11:52
2002.11.25
Хранимые проц в аксес2000


3-82674
Colonel Isaev
2002-11-06 17:53
2002.11.25
QReport


1-82688
bmai
2002-11-14 05:36
2002.11.25
Как извлечь иконку из MessageDlg?


3-82596
ton2
2002-11-04 13:33
2002.11.25
Не работает фильтр в IBQuery





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