Android 如何设置相对于位图分辨率的文本大小?

Android 如何设置相对于位图分辨率的文本大小?,android,math,bitmap,Android,Math,Bitmap,嘿,我正在尝试将文本写入位图,但我不知道如何设置文本的相对大小 我发现一些人使用密度将文本大小设置为DIP,我认为这是可以的 但如果我试着在较小的图像上写文本,文本就会变得巨大 这是我的代码: private static final float GESTURE_THRESHOLD_DIP = 95.0f; Resources resources = gContext.getResources(); float scale = resources.getDisplayMetrics().dens

嘿,我正在尝试将文本写入位图,但我不知道如何设置文本的相对大小

我发现一些人使用密度将文本大小设置为DIP,我认为这是可以的 但如果我试着在较小的图像上写文本,文本就会变得巨大

这是我的代码:

private static final float GESTURE_THRESHOLD_DIP = 95.0f;
Resources resources = gContext.getResources();
float scale = resources.getDisplayMetrics().density;
paint.setTextSize((int) (GESTURE_THRESHOLD_DIP * scale + 0.5f));

如何将文本大小设置为相对于画图大小?

最后,我刚刚检查了图像的分辨率,它看起来不错,并计算了高度-宽度结果除以X得到了我想要的数字, 所以我把字体除以6。 它会失败好几次,但比我所拥有的要好


请有人回答一个更好的答案。

如果你认为这个答案不够好,为什么你会把它标为好答案?它解决了我的问题,我认为它不好,我写上面的原因是因为它不是一个通用的解决方案,只是在我的情况下起作用。我明白了。我也想知道这个问题的答案。看起来很有趣。但是,我认为您应该取消勾选答案,这样更多的人会看到这个问题。我也这样做了:bitmap.getWidth()/20。这并不完美,因为如果图像大小不同,比例似乎也不一样。。。