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

Вниз

ScreenShot, размер большой, а нужен маленький . Как?   Найти похожие ветки 

 
Vlad Oshin ©   (2008-04-25 10:45) [0]

делаю скриншот при ошибке и мылю себе.
Размер около 2 метров, не подскажете как меньше сделать?
//---------------------------------
procedure ScreenShot(Bild: TBitMap);
var
  c: TCanvas;
  r: TRect;
begin
  c := TCanvas.Create;
  c.Handle := GetWindowDC(GetDesktopWindow);
  try
    r := Rect(0, 0, Screen.Width, Screen.Height);
    Bild.Width := Screen.Width;
    Bild.Height := Screen.Height;
    Bild.Canvas.CopyRect(r, c, r);
  finally
    ReleaseDC(0, c.Handle);
    c.Free;
  end;
end;
//---------------------------------
begin
try
  imageP:=tImage.Create(nil);
  ScreenShot(ImageP.Picture.BitMap);


 
Игорь Шевченко ©   (2008-04-25 10:45) [1]

преобразовать в другой формат, например в Jpeg


 
Ega23 ©   (2008-04-25 10:51) [2]

The StretchBlt function copies a bitmap from a source rectangle into a destination rectangle, stretching or compressing the bitmap to fit the dimensions of the destination rectangle, if necessary. Windows stretches or compresses the bitmap according to the stretching mode currently set in the destination device context.

BOOL StretchBlt(

   HDC hdcDest, // handle of destination device context
   int nXOriginDest, // x-coordinate of upper-left corner of dest. rect.
   int nYOriginDest, // y-coordinate of upper-left corner of dest. rect.
   int nWidthDest, // width of destination rectangle
   int nHeightDest, // height of destination rectangle
   HDC hdcSrc, // handle of source device context
   int nXOriginSrc, // x-coordinate of upper-left corner of source rectangle
   int nYOriginSrc, // y-coordinate of upper-left corner of source rectangle
   int nWidthSrc, // width of source rectangle
   int nHeightSrc, // height of source rectangle
   DWORD dwRop  // raster operation code
  );


 
Дмитрий С   (2008-04-25 10:58) [3]


> Игорь Шевченко ©   (25.04.08 10:45) [1]

+1


 
Игорь Шевченко ©   (2008-04-25 11:09) [4]

Ega23 ©   (25.04.08 10:51) [2]

Лупу не забудь приложить :)


 
Vlad Oshin ©   (2008-04-25 11:18) [5]

приколисты, блин..
Просто как-то StringReplace переписывал, было дело..


 
Vlad Oshin ©   (2008-04-25 11:18) [6]

Удалено модератором


 
Vlad Oshin ©   (2008-04-25 11:18) [7]

Удалено модератором


 
Ega23 ©   (2008-04-25 11:18) [8]


> Лупу не забудь приложить :)


Не, ну приемлимый размер уже сам выбираешь... надо 640х480 - берёшь его. Надо меньше - берёшь меньше.


 
Игорь Шевченко ©   (2008-04-25 12:09) [9]

Ega23 ©   (25.04.08 11:18) [8]

Я к чему - во-первых, StretchBlt исказит шрифт. Во-вторых, для того, чтобы что-то разглядеть на отстречненном скриншоте, потребуется приложить массу нетривиальных усилий. Скриншот посылается же не просто так, абы что-то послать, верно ?
В противном случае можно и своп-файл посылать себе, он всяко больше :)


 
guav ©   (2008-04-25 12:13) [10]

А если сделать скриншот в DC метафайла ? А затем ещё перечислить его, убрать битмапы и оставить только буквы и линии...


 
guav ©   (2008-04-25 12:16) [11]

Ну то есть себе WM_PRINT с DC метафайла


 
korneley ©   (2008-04-25 12:23) [12]

А просто логи уже не "по-взрослому"? Обязательно картины пересылать?


 
Vlad Oshin ©   (2008-04-25 12:25) [13]

спасибо, пойдет


> А просто логи

тоже шлю
но с картинкой понятнее, иногда читать не надо


 
Vlad Oshin ©   (2008-04-25 12:25) [14]

Удалено модератором
Примечание: Что то у тебя барахлит, идут дубли


 
Vlad Oshin ©   (2008-04-25 12:25) [15]

Удалено модератором


 
Anatoly Podgoretsky ©   (2008-04-25 12:31) [16]

> guav  (25.04.2008 12:16:11)  [11]

Да нафиг все это, для пересылки существует архивация или сильносжимающие форматы, GIF/PNG.


 
palva ©   (2008-04-25 13:44) [17]

Alt-PrintScreen - положили скриншот активного окна в клипборд.
Запустили Irfan View.
Shift-Insert - изображение появилось в вьюере.
"Сохранить как", - выбираем формат PNG.
Если на скриншоте отсутствуют градиенты и вы не боитесь небольшого искажения цветов, то можно сохранять в GIF. Тогда файл будет немного меньше, чем PNG


 
Игорь Шевченко ©   (2008-04-25 13:59) [18]

palva ©   (25.04.08 13:44) [17]

Ну и робота, который на кнопки жмет


 
iZEN   (2008-04-25 14:05) [19]


> можно сохранять в GIF. Тогда файл будет немного меньше,
> чем PNG

Файл GIF никогда не будет меньше размером, чем PNG при одной и той же цветовой палитре (256 бит).


 
Котик Б   (2008-04-25 15:10) [20]

my fovourite method:
step 1 - make screenshot
step 2a - decolor > bw 4bpp
step 2b - rescale 1/2
step 3 - bzip


 
wicked ©   (2008-04-25 15:32) [21]

поскольку скрины не на выставку делаются, то jpeg будет лучше, чем gif/png
ну и при сжатии в jpeg качество дать на уровне 60 - 75


 
Anatoly Podgoretsky ©   (2008-04-25 15:46) [22]

> palva  (25.04.2008 13:44:17)  [17]

Не согласен, эксперименты показали градации в разные стороны, то PNG меньше и значительно, то GIF



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

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

Наверх





Память: 0.49 MB
Время: 0.037 c
2-1210784396
DJ_UZer
2008-05-14 20:59
2008.06.08
Зарегитрировать файл


2-1210702537
TStas
2008-05-13 22:15
2008.06.08
Не рисуется на TPanel


2-1210824339
brother
2008-05-15 08:05
2008.06.08
сколько строк в TstringList


2-1210954730
Alexander
2008-05-16 20:18
2008.06.08
Динамическое создание объектов


2-1211186834
ratrov
2008-05-19 12:47
2008.06.08
Как правильно писать код





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