问个小问题。。 在使用timage控件时,如何知道它装入的图片类型?比如bmp,jpg,png等.... 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 判断各种类型文件标识位,bmp是以$4D42开头的,jpg是$FFD8开头 网摘:如果只是判断BMP、JPG、GIF图片,倒是有一个简单的方法,用数据流判断,因为BMP、GIF、JPG格式的文件流有标识符的,分别如下: 名称 宽度 标识符BMP 2位 BMJPG 10位 chr($FF)+chr($D8)+chr($FF)+chr($E0)+chr($00)+chr($10)+'JFIF'GIF 3位 GIF通过这种方式可以判断。当然通过DELPHI的系统的类也可以判断,用ClassName函数,但是不能判断GIF类型。例如:if Image1.Picture.Graphic<>nil thenEdit1.Text:=Image1.Picture.Graphic.ClassName; 是 GetNamePath 返回的类型是 TBitmap TJPEGIMAGE TPNGOBJECT 等等.....不过我还是想知道它载入的完整文件名 TImage在设计期装入图像后就保存在DFM文件中,不可能得到载入时的完整文件名,只能通过Image1.Picture.Graphic来判断其对象类型,比如if Image1.Picture.Graphic is TJPEGImage then 只要能加载GIF就应该能判断出来强烈推荐ClassName这个方法 Image1.Picture.Graphic.ClassName我没搞错吧?好像只有 GetNamePath 这个方法吧?要获取文件名,似乎只有改写 tGraphic 类,在装载文件时把文件名记下来了....另一个问题,用TGpBitmap时,如果传一个24位的 tbitmap,无法直接通过它来调节透明度,不知是什么原因,FromHbitmap(bmp.Handle,0),create(bmp.Handle,0)这两种方法都无效就算通过数据拷贝,出来的图像已经是损坏的。有哪位能帮忙试下??? 我搞错了,。。Image1.Picture.Graphic.ClassName 有这个,糊涂了 Image1.Picture.Graphic.ClassName里面可以看到加载的文件类型。 大富翁论坛去哪儿了 软件的权限管理 DELPHI界面设计的问题,不是用控件的。 VTI_INF.HTML是什么东西? 关于在dll中动态创建Treeview的怪问题 如何取得文件的建立时间 求救高手,程序啟動問題,急,可能要走人了! pchar的问题 DCOMConnection的"没有注册类别"问题 在installsheild pro6.2中如何建立url链接 如何获得query组件更新记录数? 只显示图片
名称 宽度 标识符BMP 2位 BMJPG 10位 chr($FF)+chr($D8)+chr($FF)+chr($E0)+chr($00)+chr($10)+'JFIF'GIF 3位 GIF通过这种方式可以判断。当然通过DELPHI的系统的类也可以判断,用ClassName函数,但是不能判断GIF类型。例如:if Image1.Picture.Graphic<>nil thenEdit1.Text:=Image1.Picture.Graphic.ClassName;
不过我还是想知道它载入的完整文件名
只要能加载GIF就应该能判断出来
强烈推荐ClassName这个方法
我没搞错吧?好像只有 GetNamePath 这个方法吧?
要获取文件名,似乎只有改写 tGraphic 类,在装载文件时把文件名记下来了....另一个问题,用TGpBitmap时,如果传一个24位的 tbitmap,无法直接通过它来调节透明度,不知是什么原因,FromHbitmap(bmp.Handle,0),create(bmp.Handle,0)这两种方法都无效
就算通过数据拷贝,出来的图像已经是损坏的。有哪位能帮忙试下???