为什么用delphi7的TImage控件无法显示用photoshop转换来的.jpg文件呢? ( 积分: 100 )

  • 主题发起人 主题发起人 myduk
  • 开始时间 开始时间
M

myduk

Unregistered / Unconfirmed
GUEST, unregistred user!
如题:
我用Image控件显示一组用photoshop转换来的.jpg文件时,图片非常的花,而且有错位,基本看不清楚。有个别图片完全不能显示,并且报错为:Access violation at address 402672A1 in module 'vcljpg70.bpl'.write of address 0AA91000.
这组图片用 Microsoft Office Picture Manager 显示正常,Photoshop显示正常。但是用win2000自带的画图工具显示没有图像,用xp的画图工具可以正常显示。用IE6.0无法显示。
 
如题:
我用Image控件显示一组用photoshop转换来的.jpg文件时,图片非常的花,而且有错位,基本看不清楚。有个别图片完全不能显示,并且报错为:Access violation at address 402672A1 in module 'vcljpg70.bpl'.write of address 0AA91000.
这组图片用 Microsoft Office Picture Manager 显示正常,Photoshop显示正常。但是用win2000自带的画图工具显示没有图像,用xp的画图工具可以正常显示。用IE6.0无法显示。
 
TImage的压缩格式不支持吧
 
肯定没问题,我这几天做项目就用到了photoshop7.0做出来的jpg,然后再Timage使用,没问题!根本也没有你报的错误
 
可我的出问题了,我不知道是为什么。我是用扫描仪扫描过后用photoshop生成jpg图片的。要不把邮箱给我,我给你发一个图片,你试试
 
tj654321@126.com
 
你好,我看了
02.jpg没问题,能显示,我的能看清楚,运行起来也没有问题,如果再要质量高的,那只能在photopshop里处理了,我没有见过你的原图片,所以不好确定质量的好坏,但是我估计是你的photoshop处理有问题。
03.jpg报你说的错。我想是photoshop处理的问题
 
photoshop处理的图片一般都没有问题,但photoshop可能会给JPG加入缩略图,目的是使它的浏览框,例如打开文件时可以看到这个小图,这样的话就难说了,因为JPG变成两幅图。
 
to yf168:
你用画图工具和IE浏览器打开有问题么?我已将我显示的02图片抓屏给你!请帮我确认一次!谢谢!

to kinneng:
“photoshop可能会给JPG加入缩略图”,你的意思是photoshop改变了文件的结构么?

to Supermay:
开始我也怀疑是TImage控件不支持,后来我发现画图工具和IE浏览器打开都有问题,才觉得可能是这种格式什么地方不是标准的格式吧
 
photoshop改变了文件的格式,加入了缩略图,画图工具和IE浏览器打开看到全图,在我的
电脑浏览文件时,选择缩略图方式看到缩略图,Delphi的JPEG.PAS一直没有改进,很旧了,你可以用WebBrowser来显示,但很慢和有声音。
 
to kinneng:很奇怪,我看到的是相反的,我的这组图片是不能用缩略图查看的。能用缩略图查看的能在D7中显示。
我在photoshop中把这组图片存储为psd格式,然后改存为jpg格式,还是不行。但是其他正常的jpg格式,都没有问题。
 
那么格式问题,
你先将图片保存为BMP格式,再用photoshop打开保存为JPG,或者用Acdsee转为JPG。
 
还有一点,就是你的图片太大也会出错,不是文件大小太大,是指图片的大小太大,在显示图片时,无论多细小的JPG都要被恢复为原大,因内存等问题,可能会出错,一般软件会容错,但TImage不会。
 
我已经发给你了
 
to kinneng:谢谢你的回答!我使用photoshop将图片转成bmp然后再转回来,在delphi下没有问题,但是图片的质量有些不同,感觉不如原来的清晰,转换的时候我没有将图片压缩。不过因为这是给客户做东西,我不能强求客户都这么转换。这个图片的规模应该在Delphi的承受范围内我想,因为大小只有500K左右。
准确地说,这个图片不是我的,是客户的,他们哪里大量的图片都是这种格式,真得很奇怪,他们说这是用photoshop将扫描的图片存成的jpg格式的图片。
我用Microsoft Picture Manager能打开,然后压缩成文档格式,或者使用这个软件的自动校正工具校正一下,然后就能用Delphi7打开了。我想这个格式可能Delphi不认。微软最新的产品,好像都支持这个格式。比如xp的画图工具,还有这个Microsoft Picture Manager。.NET2003 的C#的图形控件能够打开正常显示。
 
photoshop可能会给JPG加入缩略图”,你的意思是photoshop改变了文件的结构么?
对,但不影响文件的读写。你也可以用Stream 单独读出 缩略图
 
答 myduk
JPG转BMP不会失真,要BMP转JPG不失真,要将品质改为最好,文件最大,这样也不会失真,
不过你的问题,尝试用其他图形控件,例如GraphicEx,它让TImage支持各种文件格式,
不过商用要交费,自用是免费的。
 
kinneng:我试用过GraphicEx9.9,可是并没有起作用。很奇怪!
 
我也遇到你这样的情况!在image中打开jpg图片出现了底层窗口的东西,损失很历害!
解决办法是:把你原来的窗口从工程中移除,再重建一个窗口,就可以了.....郁闷了一天!
 
mei7810:
谢谢你的回复,我试了试,还是不行。我在考虑是不是格式问题。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部