delphi Android 创建缩略图,delphi实现批量缩略图生成工具开发代码

时间: 2024-03-09 11:49:46 浏览: 21
以下是 Delphi 实现批量缩略图生成工具的示例代码: ``` uses FMX.Graphics, System.IOUtils; procedure GenerateThumbnail(const ASourceFile, ATargetFile: string; const AWidth, AHeight: Integer); var Bitmap: TBitmap; ThumbBitmap: TBitmap; Scale: Single; begin Bitmap := TBitmap.Create; try Bitmap.LoadFromFile(ASourceFile); if (Bitmap.Width > AWidth) or (Bitmap.Height > AHeight) then begin Scale := Min(AWidth / Bitmap.Width, AHeight / Bitmap.Height); ThumbBitmap := Bitmap.CreateThumbnail(Round(Bitmap.Width * Scale), Round(Bitmap.Height * Scale)); end else ThumbBitmap := Bitmap; ThumbBitmap.SaveToFile(ATargetFile); finally Bitmap.Free; ThumbBitmap.Free; end; end; procedure GenerateThumbnails(const ASourceFolder, ATargetFolder: string; const AWidth, AHeight: Integer); var Files: TStringDynArray; I: Integer; SourceFile, TargetFile: string; begin Files := TDirectory.GetFiles(ASourceFolder, '*.*', TSearchOption.soAllDirectories); for I := 0 to High(Files) do begin SourceFile := Files[I]; TargetFile := TPath.Combine(ATargetFolder, TPath.ChangeExtension(TPath.GetRelativePath(ASourceFolder, SourceFile), '.jpg')); GenerateThumbnail(SourceFile, TargetFile, AWidth, AHeight); end; end; ``` 该示例代码使用了 FMX.Graphics 单元中的 TBitmap 类来加载、缩放和保存图像。GenerateThumbnail 过程接受源文件路径和目标文件路径,以及所需的缩略图宽度和高度。如果源图像的宽度或高度大于所需的尺寸,则会创建一个缩略图,否则直接使用原始图像。GenerateThumbnails 过程接受源文件夹路径和目标文件夹路径,以及所需的缩略图宽度和高度。它会递归地查找源文件夹中的所有文件,并为每个文件生成一个缩略图,将其保存到目标文件夹中,使用与源文件相同的相对路径和 .jpg 扩展名。

相关推荐

最新推荐

recommend-type

delphi实现保存和读取图片的方法

主要介绍了delphi实现保存和读取图片的方法,主要包括了显示图片、保存图片和读取图片的实现方法,是非常实用的技巧,需要的朋友可以参考下
recommend-type

Delphi+Web前端开发教程基于TMS+WEB+Core框架.pdf

《Delphi Web前端开发教程——基于TMS WEB Core框架》PDF本教程适合对使用Delphi TMS WEB Core 创建 Web 应用程序感兴趣的初学者和高级开发人员。学习本教程只需要免费的 Delphi 社区版以及 TMS WEB Core 的试用版就...
recommend-type

Delphi 实现软件自动升级的功能

主要介绍了Delphi 实现软件自动升级的功能的相关资料,希望通过本文能帮助到大家实现这样的功能,需要的朋友可以参考下
recommend-type

Delphi中使用ISuperObject解析Json数据的实现代码

主要介绍了Delphi中使用ISuperObject解析Json数据的实现代码,需要的朋友可以参考下
recommend-type

Delphi7图形图像多媒体高级控件开发与应用.doc

\Delphi7图形图像多媒体高级控件开发与应用.doc\Delphi7图形图像多媒体高级控件开发与应用.doc\Delphi7图形图像多媒体高级控件开发与应用.doc
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

用 Python 画一个可以动的爱心

好的,我可以帮助您使用Python来绘制一个动态的爱心。您可以使用turtle库来实现。以下是实现代码: ```python import turtle import math # 设置画布和画笔 canvas = turtle.Screen() canvas.bgcolor("black") pencil = turtle.Turtle() pencil.speed(0) pencil.color("red", "pink") pencil.pensize(3) # 定义爱心函数 def draw_love(heart_size, x_offset=0, y_offset=0):
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。