zoukankan      html  css  js  c++  java
  • delphi Image 处理

    procedure ResizeBmp(Src,Dst:String);
    var SrcBM,DstBM:TBitMap;
    Rect:TRect;
    NewW,NewH,PicW,PicH:Integer;
    HDivW:Double;
    begin
    SrcBM:=TBitMap.Create;
    SrcBM.LoadFromFile(Src);
    PicW:=SrcBM.Width;
    PicH:=SrcBM.Height;
    NewH:=768;
    NewW:=1024;
    DstBM:=TBitMap.Create;
    with DstBM do begin
    Width:=NewW;
    Height:=NewH;
    Rect.TopLeft:=Point(0,0);
    Rect.BottomRight:=Point(NewW,NewH);
    Canvas.Rectangle(0,0,Width,Height);
    Canvas.StretchDraw(Rect,TGraphic(SrcBM));
    SaveToFile(Dst);
    FreeImage;
    Free;
    end;
    end;

    unit Unit1;

    interface

    uses
    Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
    Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ExtCtrls, System.Math;

    type
    TForm1 = class(TForm)
    img1: TImage;
    btn1: TButton;
    btn2: TButton;
    grp1: TGroupBox;
    img2: TImage;
    btn3: TButton;
    btn4: TButton;
    img3: TImage;
    btn5: TButton;
    procedure btn1Click(Sender: TObject);
    procedure btn2Click(Sender: TObject);
    procedure btn3Click(Sender: TObject);
    procedure btn5Click(Sender: TObject);
    private
    { Private declarations }
    public
    { Public declarations }
    end;

    var
    Form1: TForm1;

    implementation

    {$R *.dfm}

    procedure TForm1.btn1Click(Sender: TObject);
    var
    bmp: TBitmap;
    oRect: TRect;
    begin
    bmp := TBitmap.Create;

    bmp.LoadFromFile('D:12.bmp');
    // img1.Picture.LoadFromFile('D:2.bmp');
    // img1.Width := img1.Picture.Width;
    // img1.Height := img1.Picture.Height;
    // img1.Width := img1.Picture.Width + 50;
    // img1.Height := img1.Picture.Height + 50;
    // img1.ClientWidth := 200;
    // img1.ClientHeight := 200;
    oRect.Left := Round((img1.ClientRect.Width - bmp.Width)/2);
    oRect.Top := Round((img1.ClientRect.Height - bmp.Height)/2);
    oRect.Width := bmp.Width;
    oRect.Height:= bmp.Height;
    img1.Canvas.StretchDraw(oRect, bmp);
    img1.Center := true;
    end;

    procedure TForm1.btn2Click(Sender: TObject);
    begin
    img1.Canvas.TextOut(0,0, 'haha');
    end;

    procedure TForm1.btn3Click(Sender: TObject);
    var SrcBM,DstBM:TBitMap;
    Rect:TRect;
    NewW,NewH,PicW,PicH:Integer;
    HDivW:Double;
    scale_X, scale_Y: double;
    zoom: double;
    izoom: Integer;
    begin
    SrcBM:=TBitMap.Create;
    SrcBM.LoadFromFile('D:12.bmp');
    PicW:=SrcBM.Width;
    PicH:=SrcBM.Height;
    zoom := img2.Width/SrcBM.Width;
    NewH:=Round(SrcBM.Height * zoom);
    NewW:=Round(SrcBM.Width * zoom);
    DstBM:=TBitMap.Create;
    with DstBM do
    begin
    Width:=NewW;
    Height:=NewH;
    Rect.TopLeft:=Point(0,0);
    Rect.BottomRight:=Point(NewW,NewH);
    Canvas.Rectangle(0,0,Width,Height);
    Canvas.StretchDraw(Rect,TGraphic(SrcBM));
    img2.Picture.Bitmap.Assign(DstBM);
    img2.Canvas.TextOut(0, 0, '111');
    // FreeImage;
    // Free;
    end;
    SrcBM.Free;
    DstBM.Free;
    end;

    {
    procedure TForm1.btn3Click(Sender: TObject);
    var SrcBM,DstBM:TBitMap;
    Rect:TRect;
    NewW,NewH,PicW,PicH:Integer;
    HDivW:Double;
    begin
    SrcBM:=TBitMap.Create;
    SrcBM.LoadFromFile('D:12.bmp');
    PicW:=SrcBM.Width;
    PicH:=SrcBM.Height;
    NewH:=100;
    NewW:=80;
    DstBM:=TBitMap.Create;
    with DstBM do
    begin
    Width:=NewW;
    Height:=NewH;
    Rect.TopLeft:=Point(0,0);
    Rect.BottomRight:=Point(NewW,NewH);
    Canvas.Rectangle(0,0,Width,Height);
    Canvas.StretchDraw(Rect,TGraphic(SrcBM));
    img2.Picture.Bitmap.Assign(DstBM);
    img2.Canvas.TextOut(0, 0, '111');
    // FreeImage;
    // Free;
    end;
    SrcBM.Free;
    DstBM.Free;
    end;
    }

    procedure TForm1.btn5Click(Sender: TObject);
    begin
    img3.Picture.LoadFromFile('D:12.bmp');

    end;

    end.

    object Form1: TForm1
    Left = 0
    Top = 0
    Caption = 'Form1'
    ClientHeight = 810
    ClientWidth = 1035
    Color = clBtnFace
    Font.Charset = DEFAULT_CHARSET
    Font.Color = clWindowText
    Font.Height = -11
    Font.Name = 'Tahoma'
    Font.Style = []
    OldCreateOrder = False
    PixelsPerInch = 96
    TextHeight = 13
    object img1: TImage
    Left = 32
    Top = 24
    Width = 105
    Height = 105
    end
    object btn1: TButton
    Left = 143
    Top = 40
    Width = 75
    Height = 25
    Caption = 'btn1'
    TabOrder = 0
    OnClick = btn1Click
    end
    object btn2: TButton
    Left = 143
    Top = 104
    Width = 75
    Height = 25
    Caption = 'btn2'
    TabOrder = 1
    OnClick = btn2Click
    end
    object grp1: TGroupBox
    Left = 256
    Top = 24
    Width = 633
    Height = 721
    Caption = 'grp1'
    TabOrder = 2
    object img2: TImage
    Left = 80
    Top = 48
    Width = 105
    Height = 105
    end
    object img3: TImage
    Left = 72
    Top = 232
    Width = 289
    Height = 273
    end
    object btn3: TButton
    Left = 264
    Top = 40
    Width = 75
    Height = 25
    Caption = 'btn3'
    TabOrder = 0
    OnClick = btn3Click
    end
    object btn4: TButton
    Left = 264
    Top = 104
    Width = 75
    Height = 25
    Caption = 'btn4'
    TabOrder = 1
    end
    object btn5: TButton
    Left = 416
    Top = 264
    Width = 75
    Height = 25
    Caption = 'btn5'
    TabOrder = 2
    OnClick = btn5Click
    end
    end
    end

  • 相关阅读:
    django orm(2)
    django orm操作(1)
    Django 模型层(2)
    Django 模型层(1)
    6 Django的视图层
    Django的模板层
    可视化工具Navicat的使用
    adminlte html汉化
    nodejs安装package
    jquery验证框架validate的使用
  • 原文地址:https://www.cnblogs.com/zhangzhifeng/p/7810859.html
Copyright © 2011-2022 走看看