随笔 - 2146  文章 - 97 评论 - 11758 trackbacks - 253

已知 GDI+ 可以支持的图像格式: BMP、JPEG、GIF、TIFF、PNG、ICO、WMF、EMF

TGPGraphics.DrawImage 函数有太多重载了, 一起列在这吧:
function DrawImage(image: TGPImage; const point: TGPPointF): TStatus; overload;

function DrawImage(image: TGPImage; x, y: Single): TStatus; overload;

function DrawImage(image: TGPImage; const rect: TGPRectF): TStatus; overload;

function DrawImage(image: TGPImage; x, y, width, height: Single): TStatus; overload;

function DrawImage(image: TGPImage; const point: TGPPoint): TStatus; overload;

function DrawImage(image: TGPImage; x, y: Integer): TStatus; overload;

function DrawImage(image: TGPImage; const rect: TGPRect): TStatus; overload;

function DrawImage(image: TGPImage; x, y, width, height: Integer): TStatus; overload;

function DrawImage(image: TGPImage; destPoints: PGPPointF; count: Integer): TStatus; overload;

function DrawImage(image: TGPImage; destPoints: PGPPoint; count: Integer): TStatus; overload;

function DrawImage(
  image: TGPImage;
  x, y, srcx, srcy, srcwidth, srcheight: Single;
  srcUnit: TUnit
): TStatus; overload;

function DrawImage(image: TGPImage; 
  const destRect: TGPRectF;
  srcx, srcy, srcwidth, srcheight: Single;
  srcUnit: TUnit;
  imageAttributes: TGPImageAttributes = nil;
  callback: DrawImageAbort = nil;
  callbackData: Pointer = nil
): TStatus; overload;

function DrawImage(
  image: TGPImage;
  destPoints: PGPPointF;
  count: Integer;
  srcx, srcy, srcwidth, srcheight: Single;
  srcUnit: TUnit;
  imageAttributes: TGPImageAttributes = nil;
  callback: DrawImageAbort = nil;
  callbackData: Pointer = nil
): TStatus; overload;

function DrawImage(image: TGPImage; 
  x, y, srcx, srcy, srcwidth, srcheight: Integer;
  srcUnit: TUnit
): TStatus; overload;

function DrawImage(
  image: TGPImage;
  const destRect: TGPRect;
  srcx, srcy, srcwidth, srcheight: Integer;
  srcUnit: TUnit;
  imageAttributes: TGPImageAttributes = nil;
  callback: DrawImageAbort = nil;
  callbackData: Pointer = nil
): TStatus; overload;

function DrawImage(
  image: TGPImage;
  destPoints: PGPPoint;
  count, srcx, srcy, srcwidth, srcheight: Integer;
  srcUnit: TUnit;
  imageAttributes: TGPImageAttributes = nil;
  callback: DrawImageAbort = nil;
  callbackData: Pointer = nil
): TStatus; overload;

本例效果图:



代码文件:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

type
  TForm1 = class(TForm)
    procedure FormPaint(Sender: TObject);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

uses GDIPOBJ, GDIPAPI;

procedure TForm1.FormPaint(Sender: TObject);
var
  g: TGPGraphics;
  img: TGPImage;
begin
  g := TGPGraphics.Create(Self.Canvas.Handle);

  img := TGPImage.Create('C:\temp\test.jpg');

  g.DrawImage(img, 0, 0, img.GetWidth, img.GetHeight);

  img.Free;
  g.Free;
end;

end.

窗体文件:
object Form1: TForm1
  Left = 0
  Top = 0
  Caption = 'Form1'
  ClientHeight = 290
  ClientWidth = 355
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'Tahoma'
  Font.Style = []
  OldCreateOrder = False
  OnPaint = FormPaint
  PixelsPerInch = 96
  TextHeight = 13
end

posted on 2008-07-01 09:54 万一 阅读(...) 评论(...) 编辑 收藏