Delphi将图片缩放成指定大小

unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    imgEdit: TImage;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  bitCut: TBitmap;
  bitEdit: TBitmap;
  picOriginal: TPicture;
begin
  picOriginal := TPicture.Create;
  picOriginal.LoadFromFile(ExtractFilePath(ParamStr(0)) + ‘1.jpg‘); //fileName为jpg文件路径

  bitCut := TBitmap.Create;
  bitCut.Width := 100;  //355
  bitCut.Height := 441;
  bitCut.Canvas.StretchDraw(Rect(0, 0, bitCut.Width, bitCut.Height), picOriginal.Graphic);
  bitEdit := TBitmap.Create;
  bitEdit.Width := picOriginal.Width;

//  bitCut.Canvas.CopyRect(Rect(0, 0, bitCut.Width, bitCut.Height),
//    bitEdit.Canvas, Rect(801, 149, 2595, 2359));

  imgEdit.Picture.Bitmap.Assign(bitCut);
  // 该释放的对象要释放
  bitEdit.Free;
  bitCut.Free;
  picOriginal.Free;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
MyJpeg: TJpegImage;
Bmp,Bmp2:TBitmap;
begin
  MyJpeg:= TJpegImage.Create;
  MyJpeg.LoadFromFile(ExtractFilePath(ParamStr(0)) + ‘2.jpg‘); // 1600* 900
  Bmp:=TBitmap.create;
  Bmp.Width:=1024;
  Bmp.Height:=768;
  Bmp.Canvas.StretchDraw(Rect(0,0,Bmp.Width,Bmp.Height),MyJpeg);
  Canvas.Draw(0,0,Bmp);
  Canvas.Draw(100,100,MyJpeg);
  Bmp.SaveToFile(‘2.bmp‘);
  Bmp.Free;
  MyJpeg.Free;
end;

end.
时间: 2024-12-16 06:32:37

Delphi将图片缩放成指定大小的相关文章

python 识别图片中的人脸,并裁剪人脸,将图片转化成固定大小,并将图片再按照自己的后缀名存储起来

下列代码,识别图片中的人脸,并裁剪人脸,将图片转化成固定大小,再按照自己的后缀名存储起来 bug:我是用来识别单张图片中只有一个人脸的数据集,如果用来处理一张图片中的多个人脸,那么图片的命名可能会有bug - import cv2 import os import glob #最后剪裁的图片大小 size_m = 48 size_n = 48 def detect(img, cascade): rects = cascade.detectMultiScale(img, scaleFactor=1

文件拆分成指定大小(IO流)

1 package stream; 2 3 import java.io.File; 4 import java.io.FileInputStream; 5 import java.io.FileOutputStream; 6 import java.io.IOException; 7 import java.util.Arrays; 8 9 public class TestStream { 10 11 public static void main(String[] args) { 12 i

Linux 将文件打包、压缩并分割成指定大小

打包文件: tar -cvf 20190816.tar 20190816 分割文件: split -b 3G -d -a 1 20190816.tar 20190816.tar. //使用split命令,-b 3G 表示设置每个分割包的大小,单位还是可以k // -d "参数指定生成的分割包后缀为数字的形式 //-a x来设定序列的长度(默认值是2),这里设定序列的长度为1 执行命令后,生成压缩包如下: -rw-r--r--  1 root     root      4194304000 Ma

delphi将图片转换成Base64编码函数

{************************************************************************** 名称: BaseImage 参数: fn: TFilename 返回值: string 功能: 将fn文件转换成Base64编码,返回值为编码 **************************************************************************} function BaseImage(fn: str

phpexcel 导出指定大小的图片

set_time_limit(0); ini_set('memory_limit','512M'); ini_set('max_execution_time',0); $search['doctorname'] = I('get.doctorname'); $search['mobile'] = I('get.mobile'); $search['state'] = I('get.state'); $search['type'] = I('get.type'); $search['regclas

java实现的图片缩放 压缩 裁剪工具!找了很久,市面上再也找不到比它缩放效果还好的代码了

原文:java实现的图片缩放 压缩 裁剪工具!找了很久,市面上再也找不到比它缩放效果还好的代码了 源代码下载地址:http://www.zuidaima.com/share/1550463380458496.htm 纯 java 实现的 图片缩放 压缩 裁剪工具!不依赖任何第三方 jar 包 1. 找了很久,市面上再也找不到比它缩放效果还好的代码了 (再不使用任何第三方组件的前提下) 2. 支持缩放 3. 支持剪切 (例如:用户上传头像后剪切成正方形小图) /* * Copyright 2012

Qt杂项设置(QLabel超链接、图片缩放、窗口不在任务栏显示并置顶等)

1.使用代码设置渐变 QLinearGradient linearGrad(QPointF(0, 0), QPointF(200, 200)); linearGrad.setColorAt(0, Qt::blue); linearGrad.setColorAt(1, Qt::white); linearGrad.setCoordinateMode(QGradient::StretchToDeviceMode); QBrush brush(linearGrad); item1->setBackgr

spring 文件上传 + 图片缩放 + 图片截取(头像功能)

实现图片上传 用户必须能够上传图片,因此需要文件上传的功能.比较常见的文件上传组件有Commons FileUpload,这里我们选择Commons FileUpload. 首先是页面的form表单设置,记住要配method和enctype属性哦!! <form action="upload.do" method="post"            enctype="multipart/form-data">           &l

(转)Android中实现区域平均算法在图片缩放里的应用(缩放图片抗锯齿)

摘要:Android图片缩放效果较差,尤其是将大尺寸的图片缩放成小尺寸的图片时,即便是加了抗锯齿,锯齿现象也比较严重:而java sdk里的区域平均算法缩放图片,效果就比较完美了,因为jdk不能直接用于安卓项目中(类冲突),也没找到可以使用的替代的library,最终只好自己写,在此分享! 正文: 目前我知道的Android API中的传统的图片抗锯齿优化处理无非就是以下相关的设置: //缩放抗锯齿Bitmap.createScaledBitmap(bitmap, width, height,