2

我有一个画布,我可以在上面画文字。
(这是相当先进的我想希望你能关注我)

请参阅下面的附图。

功能是我可以点击屏幕来更改文本大小。
点击左侧屏幕 = 较小的字体。
点击右屏幕 = 更大的字体。
然后我还可以移动屏幕上的文本。

当 textsize 没问题并且我已将文本移动到我想要的位置时,
然后我想将其保存回原始位图。

options.inSampleSize = 4;用来最初加载Bitmap

具有位图的 ImageView 当然比原始图像小。
需要某种计算。这往往很难做到。

我有options.inSampleSize = 4位图比率。
它是 0.59,0.69 取决于横向或纵向。

我正在玩这个以某种方式更改新位图setTextSize
,使其看起来与 ImageView 较小的位图相同。

我能在这里做什么?
我有一种感觉,因为人们永远不知道图像的大小。
我必须以某种方式将加载的位图比率缩放/限制为固定比率。

然后我需要使用百分比或其他东西将文本位置转移到更大的图像。
当涉及到初始(图片上的红色小球)位置时,我可以做到这一点。因此,文本的起点。

但我不知道文字被卡住了多久,所以说出来并征求意见

我尝试的一种方法是除以paint.getTextSize()0.59 之类的比率。起初这看起来像是一个解决方案。但是图像比例不固定,字体大小不固定,需要其他东西。

这是显示问题的两张图片。

在手机位图上:

在此处输入图像描述

保存的新位图:

在此处输入图像描述

4

1 回答 1

4

我不是 100% 清楚我明白你的意思,但这是一个开始。听起来您接近正确的方法。您需要计算图像缩放比例以适应手机视图,而不是使用固定比例,然后您可以按反比例缩放文本。所以分步骤:

  • 测量原始图像的宽度(高度也可以,但我们只需要一维)
  • 测量缩放图像的宽度
  • 计算比率 ( ratio = original / scaled)
  • 让用户输入他们的文本
  • 然后,您可以使用以下内容获取文本大小:float paintSize = paint.getTextSize();
  • 要在最终图像上进行渲染,请使用paint.setTextSize(paintSize / ratio);.
于 2011-06-14T19:29:10.850 回答