我要执行的操作的基本描述:加载背景图像,将一些文本绘制到新的位图图层中,将该文本放置在要显示它的背景图像上,然后将背景图像保存在新图层中在我放置它的顶部。
问题:我遇到的问题是,当我在背景图像上绘制文本时,它最终以错误的x / y位置结束。
例如:1.我加载640x480图像,并将ScaleType设置为Fit_Start(将其缩小为1/2大小)。我一直在跟踪比率,并在将文本绘制为最终图像时使用它。
然后,我创建一个空白的叠加位图,在其上绘制一些文本,修剪掉多余的透明空间,然后将其放置到另一个imageview中(Matrix的ScaleType)
然后,使用鼠标和onTouchEvent方法放置新的imageview。我跟踪X和Y:
浮动X = event.getX();
浮动Y = event.getY()-50; //标题栏,状态栏
overlayView.layout((int)X,(int)Y,overlay.getWidth()+(int)X,overlay.getHeight()+(int)Y);
然后,我尝试使用X&Y将文本写入最终图像(背景图像),但是我将X&Y加倍,因为我知道图像会缩小一半以适合屏幕。
最终结果是将文本写入错误的位置。最终导致X稍微过多而Y不够(像25+取决于背景图像比例-这有所不同)。
我的数学错误的某个地方,或者我忘记在公式中添加一些内容,以计算应在其上绘制文本的背景上的正确位置。我已经为此工作了好几个小时,却无法查明问题所在。
我尝试的最后一件事是考虑到标题栏和状态栏,在模拟器上它们占用了50个像素。因此,我要从Y中减去它,这是在拖动时完成的。但这仍然不能纠正根据背景图像尺寸而不同的Y值。
有人对我做错了什么吗?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。