我想使用Canvas的DrawBitmap函数在TBitmap上绘制多个精灵。
我在设置TBitmap大小时考虑了屏幕比例:
AttachToComponentRegistration
我试图将我的精灵绘制在位图的中心:
IModule
在Windows上一切正常,但在Android(ScreenScale = 4)下,精灵以x4的大小绘制(与Windows相比),以x4绘制由目标RectF指定的X / Y位置偏移。
这似乎暗示在Android下,画布的DrawBitmap函数以ScreenScale而不是Pixel缩放起作用,这在任何地方都没有记录。
这是Delphi的错误吗?缺少文档?我在代码中做错了什么?
答案 0 :(得分:2)
Drawbitmap(和所有画布操作)始终在虚拟像素级别而不是物理像素级别工作。您还需要考虑到,在虚拟像素级别工作时,您可能会看到抗锯齿伪像,因为虚拟像素和物理像素不一定对齐
通常仅在Tbitmap上工作并不关心屏幕比例,也许属性image.bitmap.screenscale或scale或类似的东西我不记得样品中的名称设置为4吗?