zoukankan      html  css  js  c++  java
  • 用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的宽和高不要太大了,否则会出现“储存空间不足”错误。具体多大数值就超出了,具体情况具体分析,你可以自己试一下。 

  • 相关阅读:
    Jmeter七、jmeter中的参数化
    Jmeter六、采样器解析
    Jmeter五、jmeter中的逻辑控制器
    Jmeter四、jmeter脚本组成和组件搭配
    Jmeter三、重要组件(元素)介绍
    Jmeter二、开始使用
    Jmeter一、开源软件的崛起
    MongoDB可视化工具MongoDB Compass的增删改查基本使用教程
    JMeter
    Jmeter进行webSocket接口测试
  • 原文地址:https://www.cnblogs.com/yzryc/p/6401878.html
Copyright © 2011-2022 走看看