Модераторы: Snowy, Alexeis, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с графикой, Через WinAPI 
:(
    Опции темы
Mr.Floppy
Дата 31.8.2006, 01:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 106
Регистрация: 3.7.2006
Где: Москва

Репутация: нет
Всего: 1



Объясните, пожалуйста, как работать с графикой с помощью API.
  • Как сделать захват экрана? 
  • Можно ли сжать картинку по алгоритмам JPEG и PNG, пользуясь средствами Windows? (mspaint по крайней мере умеет smile )
Когда делал на VCL с использованием TBitmap был примерно такой код:
Код

uses PNGImage; //PNG support (http://pngdelphi.sourceforge.net/)
procedure GetScreenShot(hWnd: HWND);
var
  WP: TWindowPlacement;
  DC: TBitmap;
  procedure SaveToPNG(Source: TBitmap; Path: string; Compression: TCompressionLevel);
  var
    Png: TPNGObject;
  begin
    Png := TPNGObject.Create;
    Png.Assign(Source);
    Png.CompressionLevel := Compression;
    Png.SaveToFile(Path);
    Png.Free;
  end;
  procedure SaveToJpeg(Source: TBitmap; Path: string; Quality: TJPEGQualityRange);
  var
    Jpeg: TJpegImage;
  begin
    Jpeg := TJpegImage.Create;
    Jpeg.Assign(Source);
    Jpeg.CompressionQuality := Quality;
    Jpeg.SaveToFile(Path);
    Jpeg.Free;
  end;
begin
  GetWindowPlacement(hWnd,@WP);
  DC := TBitmap.Create;
  DC.Width := WP.rcNormalPosition.Right - WP.rcNormalPosition.Left;
  DC.Height := WP.rcNormalPosition.Bottom - WP.rcNormalPosition.Top;
  BitBlt(DC.Canvas.Handle,
        0,
        0,
        DC.Width,
        DC.Height,
        GetDC(GetDesktopWindow),
        WP.rcNormalPosition.Left,
        WP.rcNormalPosition.Top,
        SRCCopy);
  case Settings.Format of
    BMP: DC.SaveToFile(Path + '.bmp');
    PNG: SaveToPNG(DC, Path + '.png', Settings.PngCompression);
    JPG: SaveToJPEG(DC, Path + '.jpg', Settings.JpegQuality);
  end;
  DC.Free;
end;

Как можно это реализовать на WinAPI?

Это сообщение отредактировал(а) Mr.Floppy - 31.8.2006, 01:09
PM MAIL   Вверх
Alexeis
Дата 31.8.2006, 01:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 55
Всего: 459



Mr.Floppy, Анологично, но вот вместо  TJpegImage и TPNGObject придется использовать GDI+


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Mr.Floppy
Дата 30.9.2006, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 106
Регистрация: 3.7.2006
Где: Москва

Репутация: нет
Всего: 1



А можно примерчик преобразования в PNG или JPEG? smile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Звук, графика и видео"
Girder
Snowy
Alexeis

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • По вопросам разработки игр стоит заглянуть сюда

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема »


 




[ Время генерации скрипта: 0.0440 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.