PNG图像在某些PC中无法正确显示

时间:2015-11-09 20:43:37

标签: delphi png delphi-xe

我在我的应用程序中使用了一些PNG图像,在大多数PC中显示图像没有问题,但在某些PC中图像显示不正确!

正确的表现如下:

Correct Showing

在某些PC应用程序中显示如下:

Incorrect showing

或者像这样:

Incorrect showing

我正在使用Delphi XE6

我使用Delphi的TImage显示图像,有些图像已拉伸而有些图像没有,背景图像Align是allClient,Form的BorderStyle是bsSingle,没有其他特殊的东西!

似乎有些图片已放大并且其他一些图像已缩小!,并且某些图像的拉伸属性设置为False,没有一些常规更改来重现问题

任何想法?!

谢谢......

1 个答案:

答案 0 :(得分:1)

我的第一个猜测是屏幕有不同的DPI设置。我还假设你正在使用firemonkey?如果它是firemonkey,我发现我必须手动搞乱TImage.Scale属性以补偿不同PC和平台上不同的DPI。

function ScreenScale:single;
var
  ScreenSvc: IFMXScreenService;
begin
  if TPlatformServices.Current.SupportsPlatformService(IFMXScreenService,     IInterface(ScreenSvc)) then
  begin
    result := SCreensvc.GetScreenScale;
  end;
end;