关于image的问题 ( 积分: 50 )

  • 主题发起人 主题发起人 lianzhixin_2004
  • 开始时间 开始时间
L

lianzhixin_2004

Unregistered / Unconfirmed
GUEST, unregistred user!
IMAGE里面可以装载多少种格式的图片吗。我现在只能支持BMP,PNG文件格式的读入,公司要求至少要加JPG,GIF格式的文件读入,
 
PNG?

我的Image还不支持呢...

我这能装载的图片格式有BMP,ICO,JPG,EMF和WMF
 
给点指教,JPG的可以导入进去吗楼上的,给点代码我看看如何装的,
 
Image1.Picture.LoadFromFile('111.jpg');

就这个样子...直接在Object Inspector里点Picture属性打开一个也行
 
我的image也不支持PNG[:(]
 
我的是支持,只是如果把IMAGE里面的图形256*256的切割恐怕就有点困难了把,该选用什么控件来让他导出呢
 
这样讨论太慢了,请问有QQ吗
 
我用的是INTERBASE的BLOB类型保存图片字段,多谢大富翁网友的指点,现把我的源码给大家参考:用流变量传递图片
1.读取图片
procedure TMapplyer.BitBtn1Click(Sender: TObject);
var
pic:tjpegimage;
begin
Pic:=TJpegImage.Create;
image1.Picture.Graphic := nil;
OpenDialog1.Execute;
end;
2.保存图片同时显示到IMAGE控件
procedure TMapplyer.BitBtn2Click(Sender: TObject);
var
pict:string;
strm:tmemorystream;
pic:tjpegimage;
begin
Mdata.T_applyer.Edit;
pict:=opendialog1.FileName;
if PICT <>'' then
begin
TBlobField(Mdata.T_applyer.FieldByName('title_image')).LoadFromFile(pict);
Pic:=TJpegImage.Create;
strm :=tmemorystream.Create ;
image1.Picture.Graphic := nil;
TBlobField(Mdata.T_applyer.FieldByName('title_image')).saveToStream(strm);
strm.seek(0, 0);
Pic.LoadFromStream(strm);
image1.Picture.Graphic:=pic;
image1.Update;
pic.Free ;
strm.Free ;
end;
Mdata.T_applyer.post;
Mdata.T_applyer.open;
//im age1.Picture.LoadFromFile(pict);
//image1.Update;
end;
3.查询记录或移动记录时显示图片(要判断是否为空,要不图片字段为空时会报错)
procedure TMapplyer.cmdpriorClick(Sender: TObject);
var
strm:tmemorystream;
pic:tjpegimage;
begin
Mdata.T_applyer.prior;
//T_product.Edit;
Pic:=TJpegImage.Create;
strm :=tmemorystream.Create ;
image1.Picture.Graphic := nil;
if Mdata.T_applyer.FieldByName('title_image').IsNull then
begin
pic.Free ;
strm.Free ;
end
else
begin
TBlobField(Mdata.T_applyer.FieldByName('title_image')).saveToStream(strm);
strm.seek(0, 0);
Pic.LoadFromStream(strm);
image1.Picture.Graphic:=pic;
image1.Update;
strm.seek(0, 0);
pic.Free ;
strm.Free ;
end;
{T_APPLYER.prior;}
end;
 
我们这边有没有图象处理的专家,请教一下,我QQ:272978257
 
图片转化:把其它格式的图片文件都转化为bmp文件不就可以了吗?
下面的是把jpeg图片转化为bmp文件,你看看吧!别的转化是一个道理的
procedure TchangeTobmp.jpegChangeTobmp(FileName,saveToFileName:String);
var
jpeg1:TjpegImage;
begin
try
ZeroMemory(@jpeg1,sizeof(jpeg1));
ZeroMemory(@Abmp,sizeof(Abmp));
jpeg1 := TJPEGImage.Create;
jpeg1.Create;
jpeg1.LoadFromFile(FileName);
abmp.Create;
Abmp.Assign(jpeg1);
Abmp.SaveToFile(savetoFileName);
MessageBox(0,'JpegToBmp转换成功','恭喜你',MB_OK);
finally
jpeg1.free;
end;
end;
 
我在图片切割的时候有个问题,如果切割图片不大,可以看到切割后的每个小图片,如果切割的图片很大,切割的次数太多,可能因为切割的太快还是什么原因,切割的图命名是正确的,但是里面没有切割的图片了。我用的是下面的这个函数,IM2的rect大小做了固定的设置,目的是为了为了让IM1里面加载的图片放大或者缩小。
im2.Canvas.StretchDraw(CurScalerect,im1.Picture.Bitmap);
 
没有人回处理吗?
 
多人接受答案了。
 
后退
顶部