Показать сообщение отдельно
  #4  
Старый 10.03.2013, 17:49
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

ну практически также:
Код:
unit UnitMain;

interface

uses
  Gdiplus,
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, XPMan, ExtCtrls, StdCtrls;

type
  TFormMain = class(TForm)
    Memo1: TMemo;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure FormPaint(Sender: TObject);
    procedure FormResize(Sender: TObject);
  private
    { Private declarations }
    AImage: GpImage;
  public
    { Public declarations }
  end;

var
  FormMain: TFormMain;

implementation

{$R *.dfm}

procedure TFormMain.FormCreate(Sender: TObject);
begin
  AImage:=nil;
  GdipLoadImageFromFile('Untitled.png', AImage);
end;

procedure TFormMain.FormDestroy(Sender: TObject);
begin
  if Assigned(AImage) then GdipDisposeImage(AImage);
end;

procedure TFormMain.FormPaint(Sender: TObject);
var
  g: GpGraphics;
  f, c1, c2: Int64;
  t: Int64;
begin
  Canvas.Brush.Color:=clYellow;
  Canvas.FillRect(ClientRect);
  if Assigned(AImage) then
  begin
    QueryPerformanceFrequency(f);
    QueryPerformanceCounter(c1);
    GdipCreateFromHDC(Canvas.Handle, g);
    GdipDrawImageRectRectI(g, AImage, 0, 0, ClientWidth, ClientHeight, 0, 0, 1280, 1024, UnitPixel, nil, nil, nil);
    GdipDeleteGraphics(g);
    QueryPerformanceCounter(c2);
    t:=Trunc(((c2-c1)*1000/f));
    Memo1.Lines.Add(IntToStr(t));
  end;
end;

procedure TFormMain.FormResize(Sender: TObject);
begin
  InvalidateRgn(Handle, 0, True);
end;

end.
__________________
Пишу программы за еду.
__________________
Ответить с цитированием