图像问题,高手请进! ms:tmemorystream;image1.Picture.Bitmap.LoadFromStream(ms);不过格式不知的话,比较麻烦,得先判断。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ms:tmemorystream;image1.image1.Picture.Bitmap.LoadFromStream(ms);不过,不知格式的话,应该比较麻烦,看来还是得先判断 MS: TMemoryStream; begin MS:=TMemoryStream.create; Image1.Picture.Bitmap.SaveToStream(MS); Image1.Picture.Bitmap.LoadFromStream(MS); MS.Position:=0; Table1.Append; //在数据库中添加一条记录 TBlobField(Table1.FieldbyName ('image')).LoadFromStream(MS); Table1.Post; //将所作的更新写入数据库 MS.Free; //也可以保存为文件。。//end; ================================================================一颗红心向前看,为了革命两茫然,不好意思才囊尽,只能说上一点点。★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★ 我踢 我踢 我踢 我踢 我踢 我踢 我踢 我踢 我踢 ★★ 你UP 你UP 你UP 你UP 你UP 你UP 你UP 你UP 你UP ★★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆================================================================ 楼上的兄弟们,不知道流中的图像格式,怎么可以用Image1.Picture.Bitmap.LoadFromStream(MS); 呢?TO: njbudong(南京不懂) 我也是南京的,你还没有看懂我的意思! 打开...\Delphi5\Source\VCL\Graphics.pas,在里面添加一个类: TPictureEx = Class(TPicture) public procedure SaveToStream(Stream: TStream); procedure LoadFromStream(Stream: TStream); end;procedure TPictureEx.LoadFromStream(Stream: TStream);var GraphClassName: String;0A ClassNameLen: Integer; GraphClass: TGraphicClass;0D NewGraphic: TGraphic;begin Stream.Read(ClassNameLen,Sizeof(ClassNameLen)); GraphClassName := StringOfChar(#0,ClassNameLen); Stream.Read(GraphClassName[1],ClassNameLen); GraphClass := FileFormats.FindClassName(GraphClassName); if GraphClass = nil then raise EInvalidGraphic.CreateFmt(SUnknownClassName, [GraphClassName]); NewGraphic := GraphClass.Create; try NewGraphic.OnProgress := Progress; NewGraphic.LoadFromStream(Stream); except NewGraphic.Free; raise; end; Graphic:=NewGraphic;end;procedure TPictureEx.SaveToStream(Stream: TStream);var GraphClassName: String;0A ClassNameLen: Integer;begin if Graphic<> nil then begin GraphClassName := Graphic.ClassName; ClassNameLen := Length(GraphClassName); Stream.Write(ClassNameLen,Sizeof(ClassNameLen)); Stream.Write(GraphClassName[1],ClassNameLen); end;end;然后把它加入到一个临时工程中,去掉调试选项,编译这个工程,把生成的Graphics.dcu拷贝到...\Delphi5\lib中.选中调试选项编译,拷贝到...\Delphi5\lib\debug中.然后在你的程序中使用TPictureEx,用它的SaveToStream保存,用它的LoadFromStream读.这个类就是在SaveToStream时保存了Picture.Graphic.ClassName,这样在读的时候就知道图像是什么格式了. ????????????? ____ ____ \ p \ / g / \ l \_/ n / \ a o / \ i s / \ n / \_/ 基础解码,碰到位置上的问题 ◆◆哪里有串口通信的TComm控件下载◆◆ 从过程的内部直接跳出,结束过程,用那个 是 exit 还是 abort ,都不对呀? 请小5接分! 希望大家来讨论一下目前所接触到的RichEdit控件 系统速度测试 问一个很简单的关于speedButton的问题 碰到一个简单但稀奇古怪的现象,哪位大侠能解开这个谜,立即加到100分。大侠得90分,其他得给UP的人。先设定总分1分好了。 关于描点SetPixel! 咨询个问题,如何对多个类循环赋值 图像压缩问题!! 挑战——如何将一个图像存到数据库中
begin
MS:=TMemoryStream.create;
Image1.Picture.Bitmap.SaveToStream(MS);
Image1.Picture.Bitmap.LoadFromStream(MS);
MS.Position:=0;
Table1.Append;
//在数据库中添加一条记录
TBlobField(Table1.FieldbyName
('image')).LoadFromStream(MS);
Table1.Post;
//将所作的更新写入数据库
MS.Free;
//也可以保存为文件。。//
end;
================================================================
一颗红心向前看,为了革命两茫然,不好意思才囊尽,只能说上一点点。
★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆
★ 我踢 我踢 我踢 我踢 我踢 我踢 我踢 我踢 我踢 ★
★ 你UP 你UP 你UP 你UP 你UP 你UP 你UP 你UP 你UP ★
★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆
================================================================
TPictureEx = Class(TPicture)
public
procedure SaveToStream(Stream: TStream);
procedure LoadFromStream(Stream: TStream);
end;
procedure TPictureEx.LoadFromStream(Stream: TStream);
var
GraphClassName: String;
0A ClassNameLen: Integer;
GraphClass: TGraphicClass;0D
NewGraphic: TGraphic;
begin
Stream.Read(ClassNameLen,Sizeof(ClassNameLen));
GraphClassName := StringOfChar(#0,ClassNameLen);
Stream.Read(GraphClassName[1],ClassNameLen);
GraphClass := FileFormats.FindClassName(GraphClassName);
if GraphClass = nil then
raise EInvalidGraphic.CreateFmt(SUnknownClassName, [GraphClassName]); NewGraphic := GraphClass.Create;
try
NewGraphic.OnProgress := Progress;
NewGraphic.LoadFromStream(Stream);
except
NewGraphic.Free;
raise;
end;
Graphic:=NewGraphic;
end;
procedure TPictureEx.SaveToStream(Stream: TStream);
var
GraphClassName: String;
0A ClassNameLen: Integer;
begin
if Graphic<> nil then
begin
GraphClassName := Graphic.ClassName;
ClassNameLen := Length(GraphClassName);
Stream.Write(ClassNameLen,Sizeof(ClassNameLen));
Stream.Write(GraphClassName[1],ClassNameLen);
end;
end;然后把它加入到一个临时工程中,去掉调试选项,编译这个工程,把生成的Graphics.dcu拷贝到...\Delphi5\lib中.选中调试选项编译,拷贝到...\Delphi5\lib\debug中.
然后在你的程序中使用TPictureEx,用它的SaveToStream保存,用它的LoadFromStream读.
这个类就是在SaveToStream时保存了Picture.Graphic.ClassName,这样在读的时候就知道图像是什么格式了. ?????????????
____ ____
\ p \ / g /
\ l \_/ n /
\ a o /
\ i s /
\ n /
\_/