【发布时间】:2010-08-21 05:33:23
【问题描述】:
procedure TmainForm.FormCreate(Sender: TObject);
var img : TImage;
pic:TPicture;
begin
pic := TPicture.create();
pic.LoadFromFile('my_picture.jpg');
img := Timage.create(Self);
img.Picture := pic;
end;
...
"Project MyProect.exe raised exception class EInvalidGraphic
with message 'Unknown picture extension (.jpg)'"
果然,在函数 TPicturePropertyEditor.Execute() 中,它只处理 .ICO 和 .BMP 文件!
奇怪的是,如果我在设计时将 TImage 放在表单上并单击其图片属性,那么文件加载对话框会显示 .JPG 文件(如果我加载一个文件则会崩溃) - _NOTE_ 这是多年前随电脑杂志赠送的 D7 的“免费供个人使用”版本。
怎么办?编写我自己的 VCL 组件?或者也许有人已经发明了那个 (FOSS) 轮子?
【问题讨论】:
-
你不能使用 TJpegImage 吗?
-
哦! (+1) 为什么不将其发布为答案?
-
一个好主意......但是..事实证明这并不容易,因为我正在尝试制作一个组件并且 TJpegImage 不是 TCOmponentClass 的后代,但我正在努力(所以也许不要'还没有把它作为答案发布,抱歉)
-
@mawg:14 小时前问,很流行的语言,但只有 8 次浏览?你知道为什么吗?因为您没有指定“Delphi”标签。 (单独指定“Delphi-7”并不能让问题在每个人都在看的地方可见:stackoverflow.com/questions/tagged/delphi)
-
+1 实际上我都考虑了 Delphi 标签并决定(可能是错误的)这是因为我使用了 Delphi 的“旧”和“免费”版本。我希望Delphi 2010支持Jpeg。我猜我猜错了。谢谢。