用Delphi改变图片的像素,即大小
我给你讲一种非常简单的方法:
第一步:在窗体上放上image1和image2两个图片控件。再放一个Button按钮控件。
第二步:在image1的Picture属性中载入一张JPG或者BMP图片。而image2不要管它。
第三步:双击Button进行按扭编写环境。写入下面代码:
Image2.Height := 200;//新图像高度
Image2.Width := 300;//新图像宽度
Image2.Canvas.StretchDraw(Image2.ClientRect,Image1.Picture.Graphic);
Image2.Picture.SaveToFile('c:/b.jpg');//保存新图像
你没有说要压缩,所以我没写压缩的代码。其实这种情况最好是要压缩一下,压缩代码也非常简单
uses添加Jpeg.
var
bmp,bmp1:TBitmap;
jpeg:TJpegImage;
str:string;
begin
str:='你的图片的完整路径+图片名'
if (ExtractFileExt(str)='.JPG') or (ExtractFileExt(str)='.jpg') then
begin
jpeg:=TJpegImage.Create;
try
jpeg.LoadFromFile(str);
bmp:=TBitmap.Create;
try
bmp.Width:=strtoint(edit1.Text);
bmp.Height:=strtoint(edit2.Text);
bmp.Canvas.StretchDraw(rect(0,0,bmp.Width,bmp.Height),jpeg);
jpeg.Assign(bmp);
finally
bmp.Free;
end;
jpeg.SaveToFile('D:/aa.jpg');
finally
jpeg.Free;
end;
end;
end;
if (ExtractFileExt(str)='.BMP') or (ExtractFileExt(str)='.bmp') then
begin
bmp1:=TBitmap.Create;
try
bmp1.LoadFromFile(str);
bmp:=Tbitmap.Create;
try
bmp.Width:=strtoint(edit1.Text);
bmp.Height:=strtoint(edit2.Text);
bmp.Canvas.StretchDraw(rect(0,0,bmp.Width,bmp.Height),bmp1);
bmp1.Assign(bmp);
finally
bmp.Free;
bmp1.SaveToFile('D:/aa.bmp');
end;
finally
bmp1.Free;
end;
end;
end;
只是edit1和edit2中添加的bmp的宽和高不要太大了,否则会出现“储存空间不足”错误。具体多大数值就超出了,具体情况具体分析,你可以自己试一下。
用Delphi改变图片的像素,即大小的更多相关文章
- iOS图片的伪裁剪(改变图片的像素值)
0x00 原理 利用一张图片事先画好的图片(以下称为蒙板),盖在要被裁剪的的图片上,然后遍历蒙板上的像素点,修改被裁剪图片对应位置的像素的色值即可得到一些我们想要的不规则图片了(比如人脸) 0x01 ...
- Delphi将图片缩放成指定大小
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms ...
- 用Delphi直接获取bmp图片的像素
用Delphi直接获取bmp图片的像素,并存储显示出.(此像素主要用在LED上显示).希望高手能给出代码啊!! function getImagePixels(f: string): Integer; ...
- JavaScript--鼠标滚动改变图片大小
鼠标滚动改变图片的大小: 原理:当鼠标滚动时改变了zoom的值: <!DOCTYPE HTML> <html> <head> <title>通过鼠标滚轮 ...
- C#改变图片大小
今天一女同事要做一个改变图片大小的功能,然后我就手写了几行代码,以后可能用得上 byte[] buffer = new byte[1]; //Byte转为Image对象 MemoryStream ms ...
- 使用thumbnailator不按照比例,改变图片的大小
我们在平时的开发中,偶尔也会遇到图片处理的问题,比如图片的压缩,按比例改变图片的大小,不按比例改变图片的大小等等. 如果要自己去开发这样一套工具,我觉得大多数人都是做不到的,所以还是学会站在巨人的肩膀 ...
- 使用jQuery动态改变图片显示大小
当我们要显示后台传过来若干个尺寸不一的图片时,为了保证图片大小的一致性及比例的协调,需要动态改变图片显示尺寸.通过搜索,我们可以从网上找到实现此 功能的jQuery代码如下.这段代码可以使图片的大小保 ...
- ios 改变图片大小缩放方法
http://www.cnblogs.com/zhangdadi/archive/2012/11/17/2774919.html http://bbs.csdn.net/topics/39089858 ...
- imagecopyresampled()改变图片大小后质量要比imagecopyresized()高。
php程序中改变图片大小的函数大多数人都想到用imagecopyresized(),不过经过测试比较发现,使用imagecopyresampled()改变的图片质量更高. 下面我们来看看两者的比较结果 ...
随机推荐
- 关于dict的formkeys方法注意
使用容器中的元素生成k, v为统一值, 指向同一个内存地址 默认值指向同一个内存, 修改就全部修改 strvar = 'abcd' listvar = [] dictvar = {} dictvar ...
- javaScrip字符串(String)相关
-----------------------------------------此页只记录前端关于String的东西----------------------------------------- ...
- Java 12 - Java StringBuffer和StringBuilder类
Java StringBuffer和StringBuilder类 当对字符串进行修改的时候,需要使用StringBuffer和StringBuilder类. 和String类不同的是,StringBu ...
- python学习之----Lambda表达式
Lambda 表达式本质上就是一个函数,可以作为其他函数的变量使用:也就是说,一个函 数不是定义成f(x, y),而是定义成f(g(x), y),或f(g(x), h(x)) 的形式. Beautif ...
- Date对象设置一天的0点
在某些场景下,页面中的查询点关注的是某一天的数据,但是后台查询的时候,需要的是某一天从0点到当天的23:59:59,我们通过日历插件选择的日期,带回到后台的可能是日起对象,也可能是日期字符串,也可能是 ...
- JDK 8 中Lambda表达式的使用
认识Lambda表达式 首先来引入一个示例 new Thread(new Runnable() { @Override public void run() { Syst ...
- SVG 学习<四> 基础API
目录 SVG 学习<一>基础图形及线段 SVG 学习<二>进阶 SVG世界,视野,视窗 stroke属性 svg分组 SVG 学习<三>渐变 SVG 学习<四 ...
- Ubantu下安装jdk 教程
ubuntu 安装jdk 的两种方式: 这篇帖子,有些地方,写的有点问题.我只能按照记忆中的印象,修改一下. 1:通过ppa(源) 方式安装. 2:通过官网下载安装包安装. 这里推荐第1种,因为可以通 ...
- RPC通信原理
什么是 RPCRPC(Remote Procedure Call Protocol)远程过程调用协议.通俗的描述是:客户端在不知道调用细节的情况下,调用存在于远程计算上的某个过程或函数,就像调用本地应 ...
- 循环内部嵌套ajax请求
循环内部ajax请求涉及到循环变量的取值问题: 例如: for(var i=0; i<items.length; i++){ zzurl = items[i].url; $.ajax({ typ ...