(DELPHI)已经存入SQLSERVER中的图片数据(image字段)太大,怎么直接在数据库中压缩?或怎么用程序实现

(DELPHI)已经存入SQLSERVER中的图片数据(image字段)太大,怎么直接在数据库中压缩?或怎么用程序实现,第1张

delphi 的图像缩放示例代码如下:

//将图片缩放至指定大小

procedure SizeBmp(const Source, Dest: string const x, y: integer)

var

  aBmp, bBmp: tbitmap

  scalex, scaley: real

begin

  aBmp := TBitmap.Create

  bBmp := TBitmap.Create

  try

    aBmp.LoadFromFile(Source)

    scaley := aBmp.Height / y

    scalex := aBmp.Width / x

    bBmp.Width := round(aBmp.Width / scalex)

    bBmp.Height := round(aBmp.Height / scaley)

    bBmp.PixelFormat := pfDevice

    SetStretchBltMode(bBmp.Canvas.Handle, COLORONCOLOR)

    StretchBlt(bBmp.Canvas.Handle, 0, 0, bBmp.Width, bBmp.Height,

      aBmp.Canvas.Handle, 0, 0, aBmp.Width, aBmp.Height, srccopy)

    bBmp.SaveToFile(Dest)

  finally

    aBmp.Free

    bBmp.Free

  end

end

procedure TForm1.btn1Click(Sender: TObject)

begin

  SizeBmp('e:\1112.bmp','e:\1112_small.bmp',640,480)

end

可以使用电脑中的photo shop重新将该拍摄的相片进行保存,在保存的选项中可以进行文件大小的相关设置并在预览界面中看到对应的文件大小。具体的设置方法如下:

1、在电脑上打开photo shop软件,点击左上角的文件选择打开按钮

2、在出现的打开对话框中选中该需要调整大小的图片,可以看到该图片当前大小为1.54MB,点击打开按钮。

3、在PS中打开该图片以后点击左上角的文件选择存储为按钮。

4、在出现的保存对话框中选择图片格式为上传要求的格式,点击保存按钮。

5、在出现的JPEG选项中拉动大小文件中间的按钮,可以看到预览中文件的大小。当文件大小满足要求以后点击确定按钮。

6、打开文件的存储位置就可以看到之前1.54MB的图片调整为了320K(左图为原图,右图为调整之后的图片)。

这个在设计数据库的时候就要考虑,1.

图片、附件尽量不要存在数据库中,可以把图片、附件放在硬盘上,存图片、附件的文件路径。2.保存大文本尽量不要用text、ntext,因为这个两个都是在数据库里创建一个文件来保存数据,你后面删除的数据文件也不会删除的。我暂时想到的就这么多了,有了再补充。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/6738699.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-27
下一篇2023-03-27

发表评论

登录后才能评论

评论列表(0条)

    保存