当前位置: 代码迷 >> PB >> PB 怎么将图片100K改成10K
  详细解决方案

PB 怎么将图片100K改成10K

热度:613   发布时间:2016-04-29 05:18:24.0
PB 如何将图片100K改成10K?
在平常的代码中只有读取原始的大小赋值给blob变量. 那么在这个过程中如何将其大小改变影响清晰度而不损坏图片?
Long li_file
String ls_file = 'C:\Users\1.1-PC\Desktop\111.bmp'
Blob lb_small,blob_image

p_1.PictureName = ''
p_1.PictureName = ''
//打开
li_file =  FileOpen(ls_file ,STREAMMODE!)
//读取图片赋值blob_image
IF FILEREADex(li_file,blob_image) = -1 THEN
msg('文件正在被其它程序占用无法读取')
FileClose(li_file)
RETURN
END IF
FileClose(li_file)
//显示图片或保存至数据库
p_1.SetPicture(blob_image)
////图片更新
UPDATEBLOB SYS_PIC
Set pic_name = :blob_image
Where  pic = :ll_pic;
COMMIT Using SQLCA;
------解决思路----------------------
http://download.csdn.net/detail/yyoinge/3764700
------解决思路----------------------
引用:
在平常的代码中只有读取原始的大小赋值给blob变量. 那么在这个过程中如何将其大小改变影响清晰度而不损坏图片?
Long li_file
String ls_file = 'C:\Users\1.1-PC\Desktop\111.bmp'
Blob lb_small,blob_image

p_1.PictureName = ''
p_1.PictureName = ''
//打开
li_file =  FileOpen(ls_file ,STREAMMODE!)
//读取图片赋值blob_image
IF FILEREADex(li_file,blob_image) = -1 THEN
msg('文件正在被其它程序占用无法读取')
FileClose(li_file)
RETURN
END IF
FileClose(li_file)
//显示图片或保存至数据库
p_1.SetPicture(blob_image)
////图片更新
UPDATEBLOB SYS_PIC
Set pic_name = :blob_image
Where  pic = :ll_pic;
COMMIT Using SQLCA;


如果是bmp图片,可以转为jpg,如果jpg图片的,把图片大小缩小为1/3,然后保存为jpg

------解决思路----------------------
转成JPG吧  不然没其他办法了