uses jpeg;
var
tempStream:TMemoryStream;
begin
tempStream:=TMemoryStream.Create; // 创建内存流
tempStream.clear; // 初始化流
{ 将表中的图片先存到流中 }
try
TBlobField(ADOQuery1.FieldByName('F_Photo')).SaveToStream(tempStream);
{ 将流加载到控件中 }
DBImage1.Picture.Bitmap.LoadFromStream(tempStream);
finally
tempStream.Free;
end;
end;这个是人家的数据库转图片 我想问问 数据流转图片怎么搞 如果不行的话 直接数据流导出 ACCII HEX 也行 我就是不知道改用那个控件 该怎么写
var
tempStream:TMemoryStream;
begin
tempStream:=TMemoryStream.Create; // 创建内存流
tempStream.clear; // 初始化流
{ 将表中的图片先存到流中 }
try
TBlobField(ADOQuery1.FieldByName('F_Photo')).SaveToStream(tempStream);
{ 将流加载到控件中 }
DBImage1.Picture.Bitmap.LoadFromStream(tempStream);
finally
tempStream.Free;
end;
end;这个是人家的数据库转图片 我想问问 数据流转图片怎么搞 如果不行的话 直接数据流导出 ACCII HEX 也行 我就是不知道改用那个控件 该怎么写
解决方案 »
- 再问一个cxGrid表格问题,新增一行表格时怎样实现回车移到到后一表格中去?
- TTreeView的一个问题??
- 怎么给EXCEL单元格设置字体大小?
- 如何得到控件名
- 再请教关于日期型的问题,实际上是Word--->String型的转换问题。
- TClientDataSet.DataSetField怎么用?
- 我今寫一個component 它inherit TWincontrol, 但我要欄截IME 的Unicode INPUT
- 请教如何使DBGRID的内容可修改?
- 努力学习,天天向上。
- Borland 公司跨掉更好
- CSDN怎么越改越丑了?有同感的请回帖
- 发个笑话,散分,饭前与饭中不要看,否则后果自负
procedure DrawJpegStream(AStrem: TMemoryStream; AImage: TImage);
var
FJPEGImage: TJPEGImage;
begin
FJPEGImage := TJPEGImage.Create;
try
FJPEGImage.LoadFromStream(AStream);
AImage.Width := FJPEGImage.Width;
AImage.Height := FJPEGImage.Height;
AImage.Canvas.Draw(0, 0, FJPEGImage);
finally
FJPEGImage.Free;
end;
end;
FJPEGImage.LoadFromStream(AStream);
出现错误
procedure SaveScrToStream(AStream: TMemoryStream);
var
scrWidth, scrHeight: integer;
DC: hDC;
FBitmap: TBitmap;
FJPEGImage: TJPEGImage;
begin
DC := GetDC(0);
FBitmap := TBitmap.Create;
FJPEGImage := TJPEGImage.Create;
try
scrWidth := Screen.Width;
scrHeight := Screen.Height;
FBitmap.Width := scrWidth;
FBitmap.Height := scrHeight;
BitBlt(FBitmap.Canvas.Handle, 0, 0, scrWidth, scrHeight, DC, 0, 0, SRCCOPY);
FJPEGImage.Assign(FBitmap);
FJPEGImage.CompressionQuality := 10;
FJPEGImage.Compress;
AStream.Clear;
FJPEGImage.SaveToStream(AStream);
AStream.Position := 0;
finally
FBitmap.Free;
FJPEGImage.Free;
ReleaseDC(0, DC);
end;
end;
//将内存流中的 JPEG 图像显示出来
procedure DrawJpegStream(AStrem: TMemoryStream; AImage: TImage);
var
FJPEGImage: TJPEGImage;
begin
FJPEGImage := TJPEGImage.Create;
try
FJPEGImage.LoadFromStream(AStream);
AImage.Width := FJPEGImage.Width;
AImage.Height := FJPEGImage.Height;
AImage.Canvas.Draw(0, 0, FJPEGImage);
finally
FJPEGImage.Free;
end;
end;