下面是我写的简单保存图片代码 不知道如何修改才能变成可以根据 image1 里面的图片的格式是 bmp还是jpg而 保存的时候自动
添加.bmp 或者.jpg后缀! 是根据原图的格式决定的 请高手指教谢谢!!
procedure TForm1.Save1Click(Sender: TObject);
begin
if SavePictureDialog1.Execute then
begin
Image1.Picture.SaveToFile(SavePictureDialog1.FileName);
end;
end;
添加.bmp 或者.jpg后缀! 是根据原图的格式决定的 请高手指教谢谢!!
procedure TForm1.Save1Click(Sender: TObject);
begin
if SavePictureDialog1.Execute then
begin
Image1.Picture.SaveToFile(SavePictureDialog1.FileName);
end;
end;
而且 TPicture不支持jpg的
而且 TPicture不支持jpg的
BMP Header:http://www.fastgraph.com/help/bmp_header_format.html
用文件流读几个字节就能判断了
这里也谢谢 budded 对于我来说可能还是难了点 呵呵 谢谢
这是什么意思????
你打开jpg试试jpg都要靠assign操作来赋给picture.GraphicPicture是不能SaveToFile 保存为真正的jpg格式的
需要用TJPEGImage做中间转换
var //2007-11-29晚,处理下载图片并打印的效果
Mstream: TMemorystream;
jpgfile: TjpegImage;
pp: pChar;
ss: String;
ii:DWORD;
aa: string;
ll : string;
Begin
GetMem(pp,255); //处理获得用户登陆电脑名称
ii:= 255;
GetUserName(pp,ii);
ss := StrPas(pp);
FreeMem(pp);
ll:= 'C:\Documents and Settings\'+ss+ '\Local Settings\Temp\';
if (Edit1.Text <> '' ) or (edit1.Text <> '000001') then //2007-11-29晚加,处理打印图片和下载图片问题 ,
Begin
With ADOQuery1 do //处理图片
Begin
Close;
SQl.Clear ;
SQl.Text :=' Select (n.image_) as image_, isnull(n.zkuan_,'''')as zkuan , (m.ytu_) as ytu_,(m.zkuan_) as zkuan_ '
+' from klbom m left join filetupian n on m.zkuan_=n.zkuan_ and m.ytu_=n.ytu_ '
+' where m.id_='''+Trim(Edit1.Text)+''' ' ;
Open;
End;
try
While not ADOQuery1.Eof do
Begin //在这里需要判断是否查询到图片的字段,所以特殊添加下面的判断
if Adoquery1.FieldByName('zkuan').AsString <> '' then
Begin
Mstream:=TMemorystream.Create ;
jpgfile:=TjpegImage.Create ;
TBlobField(ADOQuery1.FieldByName('image_')).SaveToStream(Mstream);
Mstream.Position :=0;
jpgfile.LoadFromStream(Mstream);
aa:='C:\Documents and Settings\'+ss+ '\Local Settings\Temp\'+ADOQuery1.fieldbyname('zkuan_').AsString+ADOQuery1.fieldbyname('ytu_').AsString+'.jpg';
jpgfile.SaveToFile(aa);
End;
Adoquery1.Next;
End; except
Showmessage('数据处理有问题,请联系信息部');
End;
添加.bmp 或者.jpg后缀! 是根据原图的格式决定的 请高手指教谢谢!!
procedure TForm1.Save1Click(Sender: TObject);
begin
if SavePictureDialog1.Execute then
begin
Image1.Picture.SaveToFile(SavePictureDialog1.FileName);
end;
end;
----
没有细看,,,不知道这个两个有什么区别吗?不就不理解了,BMP,JPG任何只要在后缀那里修改为.BMP或.JPG就可以相互转化了,,,