png格式转jpg格式

    由于项目需要,需要将png格式的图片转换为jpg格式的图片,方法如下:

      MyImg := TMemoryStream.Create;
      MyImg.LoadFromFile(Local_path+Img);
      MyImg.Position := 0;
      if MyImg.Size <= 0 then
      begin
        MyImg.Free;
        continue;
      end;

      MyImg.ReadBuffer(lBuf, 2);
      if lBuf = $4D42 then
      begin

         bmp := TBitmap.Create;

         jpg := TJpegImage.Create; //引入单元jpeg

         try
         bmp .LoadFromStream(Local_path+Img);

         jpg.Assign(bmp);
         jpg.SaveToFile(Local_path+Img);

         finally

            FreeAndNil(jpg);

            FreeAndNil(bmp);

         end;

      end
      else
      //如果是png格式的图片,先转化为bmp格式,然后再转化为jpg(直接从png到jpg会报错)
      if lBuf = $5089 then
      begin
        png := TPNGObject.Create; //引入单元pngimage
        bmp := TBitmap.Create;
        jpg := TJpegImage.Create;
        try
          png.LoadFromFile(Local_path+Img);
          bmp.Assign(png);
          jpg.Assign(bmp);
          jpg.SaveToFile(Local_path+Img);
        finally
          FreeAndNil(png);
          FreeAndNil(bmp);
          FreeAndNil(jpg);
        end;
      end;
      MyImg.Destroy;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值