zoukankan      html  css  js  c++  java
  • 再学 GDI+[85]: TGPImage(5) RotateFlip 旋转与镜像

    本例效果图:



    代码文件:
    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
    end
    
    TRotateFlipType 枚举的常数值:
    RotateNoneFlipNone = 0;
    Rotate90FlipNone   = 1;
    Rotate180FlipNone  = 2;
    Rotate270FlipNone  = 3;
    RotateNoneFlipX    = 4;
    Rotate90FlipX      = 5;
    Rotate180FlipX     = 6;
    Rotate270FlipX     = 7;
    
  • 相关阅读:
    记录一个jsonb_array_elements因数据问题被坑的点
    postgresql 中的 with 用法
    Java中4个元注解
    Java8 stream filter map
    sql 函数
    sql 判断选择语句
    面试里的套路(1)
    python 路径
    postsql sqlalchemy的事务提交问题
    网站响应过慢问题
  • 原文地址:https://www.cnblogs.com/del/p/1233321.html
Copyright © 2011-2022 走看看