如何获得Jpeg图象的点颜色值(50分)

  • 主题发起人 主题发起人 kane
  • 开始时间 开始时间
K

kane

Unregistered / Unconfirmed
GUEST, unregistred user!
我有一个如下的程序:
Image1.Picture.LoadFromFile('a.Bmp');
Image1.Canvas.Pixels[1,1];
这样我就可以读出a.Bmp的1,1的颜色值
但是如果我读入一个a.jpg文件
就会报错,请教各位大虾
 
你如果要得到象素的值,应该先转换为BMP.
DELPHI的帮助说得很明白,TImage.Canvas
只有在TImage加载BMP时才有效.

你可以将TImage.Picture.Graphic画到一个TBitmap
上,就可以把JPEG转换成BMP了.任何格式的图象,只要
TImage支持,都可以用这种方式转换.即使BMP,WMF也
可以.
 
嘻,拣便宜了:
在 use 里面要加入:Jpeg
就这么简单
因为Delphi默认是不加载JPEG 的,需要你手动添加。
然后,Canvas跟调Bmp一样处理
 
//开头
uses Jpeg;
//工作代码
wJpeg := TJpegImage.Create;
wBitMap := TBitMap.Create;
try
wJpeg.LoadFromFile( 'Sample.Jpg' );
wBitMap.Assign( wJpeg );
//好了,现在wBitMap就可以像按照TBitMap来操作了。
finally
wJpeg.Free;
wBitMap.Free;
end;
 
接受答案了.
 
呵呵,想不到这么简单,谢谢lhz
 
to Travaller:
你的回答我没有看到,只好以后有机会给你分了:)
谢谢你的回答。
 
后退
顶部