本例效果图:
代码文件:
代码文件:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) ListBox1: TListBox; procedure FormCreate(Sender: TObject); procedure FormPaint(Sender: TObject); procedure ListBox1Click(Sender: TObject); end; var Form1: TForm1; implementation {$R *.dfm} uses GDIPOBJ, GDIPAPI; procedure TForm1.FormCreate(Sender: TObject); begin ListBox1.Align := alRight; with ListBox1.Items do begin Add('RotateNoneFlipNone'); Add('Rotate90FlipNone'); Add('Rotate180FlipNone'); Add('Rotate270FlipNone'); Add('RotateNoneFlipX'); Add('Rotate90FlipX'); Add('Rotate180FlipX'); Add('Rotate270FlipX'); end; end; procedure TForm1.FormPaint(Sender: TObject); var g: TGPGraphics; img: TGPImage; begin g := TGPGraphics.Create(Self.Canvas.Handle); img := TGPImage.Create('C:\temp\test.jpg'); img.RotateFlip(TRotateFlipType(ListBox1.ItemIndex)); g.DrawImage(img, 4, 4, img.GetWidth, img.GetHeight); img.Free; g.Free; end; procedure TForm1.ListBox1Click(Sender: TObject); begin Repaint; end; end.窗体文件:
object Form1: TForm1 Left = 0 Top = 0 Caption = 'Form1' ClientHeight = 245 ClientWidth = 361 Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'Tahoma' Font.Style = [] OldCreateOrder = False Position = poDesktopCenter OnCreate = FormCreate OnPaint = FormPaint PixelsPerInch = 96 TextHeight = 13 object ListBox1: TListBox Left = 248 Top = 40 Width = 111 Height = 97 ItemHeight = 13 TabOrder = 0 OnClick = ListBox1Click end endTRotateFlipType 枚举的常数值:
RotateNoneFlipNone = 0; Rotate90FlipNone = 1; Rotate180FlipNone = 2; Rotate270FlipNone = 3; RotateNoneFlipX = 4; Rotate90FlipX = 5; Rotate180FlipX = 6; Rotate270FlipX = 7;