怎样把在image 内画出的图保存到jpg文件,并将jpg文件存入数据库字段中? (300分)

  • 主题发起人 主题发起人 philips
  • 开始时间 开始时间
P

philips

Unregistered / Unconfirmed
GUEST, unregistred user!
怎样把在image 内画出的图保存到jpg文件,并将jpg文件存入数据库字段中?
以前有一个贴(如下:)是delphi的,我要c++builder的,
var
jpg:Tjpegimage;
//这里我编译通不过,须包含那个头?帮助里没找到
bmp:Tbitmap //或 pic:Tpicture
begin
jpg:=Tjpegimage.create;
bmp:Tbitmap.create;
bmp.loadfromfile('aaa.bmp');
jpg.assign(bmp);
jpg.CompressionQuality:=75;
//jpg.Compress;
//该语句执行与否,结果都一样
jpg.savetofile('bbb.jpg');
//或 savetostream
jpg.free;
bmp.free;
end;

对应这段代码的c++builder程序怎样写 ?

 
to :menxin
can you give me a exaple for c++builder?
 
include "jpeg.hpp"
>>jpg.Compress;
//该语句执行与否,结果都一样
(在TImage中)
-----------
不一样,虽然你改变
jpg.CompressionQuality:=...(default=80 改小一点=10)
然后
jpg.Compress;
在运行时图面的质量没有改变。但当你重新
jpg.loadfromfile
时图面质量的变化才可以看到。
 
#include "jpeg.hpp"
...
void __fastcall TForm1::Button1Click(TObject *Sender)
{
TJPEGImage *MyJPEG=new TJPEGImage();
Graphics::TBitmap *MyBMP=new Graphics::TBitmap();
MyBMP->LoadFromFile("e:/lm.BMP");
//你的图片位置
MyJPEG->Assign(MyBMP);
MyJPEG->CompressionQuality=10;
//压缩比例
MyJPEG->Compress();
MyJPEG->SaveToFile("e:/lm01.JPEG");//保存路径……
delete MyJPEG;
delete MyBMP;
}
 
TJPEGImage *MyJPEG=new TJPEGImage();
JPEGField (old字段)
...
SaveToField()
{
TStream *UStream=new TStream();

MyJPEG->SaveToStream(UStream);
UTable->FieldByName("PEGField")->LoadFromStream(UStream);
delete UStream;
}
LoadFromField()
{
TStream *UStream=new TStream();

UTable->FieldByName("PEGField")->SaveToStream(UStream);
MyJPEG->LoadFromStream(UStream);
delete UStream;
}
 
Victortim:
非常感谢您!300分归您了,可还有一点我不清楚,就是怎样直接把画到Image 上
的曲线图存到数据库里,(只要16色即可满足要求)。

philips
 
>>把画到Image 上的曲线图存到数据库里
image->Picture->Graphic->SaveToStream(UStream);
image->Picture->Bitmap->SaveToStream(UStream);
>>只要16色即可满足要求
image->Picture->Bitmap->PixelFormat
type TPixelFormat = (pfDevice, pf1bit, pf4bit, pf8bit, pf15bit,
pf16bit, pf24bit, pf32bit, pfCustom);
property PixelFormat: TPixelFormat;


 
image->Picture->Bitmap->PixelFormat=pf4bit (16色)

TJPEGImage->PixelFormat=jf24Bit 或 jf8Bit
type TJPEGPixelFormat = (jf24Bit, jf8Bit);
property PixelFormat: TJPEGPixelForm;
 
接受答案了.
 
后退
顶部