我们的应用程序有几种类型的小部件。它们都被绘制在方形 Canvas 上。它们是可拖动和可调整大小的。有些小部件很薄或很短,当它们靠得很近时,透明部分会完全覆盖另一个小部件的可见部分,很难选择。
我需要移除透明部分并将小部件绘制到大小正确的背景上,没有多余的东西。由于某种原因,这比我预期的要难。
有问题的小部件示例。这是一个不同的小部件,但为了说明它在方形背景上的表现。看到角落是如何圆润的吗?
将位图调整为矩形,拉伸(stretch)边角和挤压/拉伸(stretch)字体:
你知道如何预防吗?
最佳答案
耶耶耶!我想到了!
在onDraw(Canvas Canvas )中:
旧代码:
canvas.scale((float) width, (float) height);
新代码:
// Scale square, so nothing gets stretched or squished
canvas.scale((float) width, (float) width);
// Crops the canvas
canvas.clipRect(0f, 0f, 1f, .33f);
然后我只需确保我所有的矩形都只使用 Canvas 的前 1/3
关于Android:在位图/ Canvas 中拉伸(stretch)/挤压绘图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27275568/