画布上绘制的圆圈与屏幕不匹配

2024-01-24

我想在屏幕中心画一个圆圈,但我得到的是这样的东西:

我正在使用这段代码来绘制这个圆圈。

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    Display display = getWindowManager().getDefaultDisplay(); 
    int width = display.getWidth();
    int height = display.getHeight();

    Bitmap bmp = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_4444);

    Canvas c = new Canvas(bmp);

    RectF rect = new RectF(0,0,width,width);
    drawCircle(rect, c, width, height);
    ImageView img = (ImageView) findViewById(R.id.imageView1);
    img.setImageBitmap(bmp);
    img.setScaleType(ScaleType.FIT_CENTER);


}

private void drawCircle(RectF rect, Canvas c, int width, int height) {
    Paint paint = new Paint();
    paint.setARGB(255, 255 , 10, 21);
    paint.setStrokeWidth(10);
    paint.setAntiAlias(true);
    paint.setStrokeCap(Paint.Cap.BUTT);
    paint.setStyle(Paint.Style.STROKE);
    int radius;
    if(width < height)
        radius = width/2;
    else 
        radius = height/2;
    c.drawCircle(width/2, height/2, radius, paint);
}

我不明白为什么它在侧面被切割,即使我使用屏幕尺寸来绘制它,所以它应该完全适合它。


您没有考虑线条的粗细(笔划宽度)。您画了一个圆,假设其厚度为 0,因此“实际”圆接触屏幕的边缘,但由于您使用了厚画笔,一些油漆泄漏到了边缘。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

画布上绘制的圆圈与屏幕不匹配 的相关文章

随机推荐

  • 如何添加迄今为止的天数(作为列的值)?

    我在 Spark 中向日期格式列添加天数 数字 时遇到问题 我知道有一个功能date add它有两个参数 日期列和整数 date add date startdate tinyint smallint int days 我想使用整数类型的列
  • Siri 快捷方式 iOS 13 错误 INUIAddVoiceShortcutButton

    在我的项目中 我使用 Siri 快捷方式INUIAddVoiceShortcutButton 我使用这种方法来创建按钮并关联NSUserActivity let button INUIAddVoiceShortcutButton style
  • 如何在不使用 tabindex 的情况下进行 Tab 键切换时跳过项目?

    在 javascript onfocus 处理程序中 是否有一种好方法可以将焦点转移到 Tab 键顺序中的下一个项目 而无需手动输入下一个项目的 ID 我在 Django jQuery 中构建了一个 HTML 日期选择器 这是一个行编辑 然
  • 发送不带接受/拒绝选项的 Outlook 会议请求

    我正在使用我的 NET 程序发送 Outlook 会议请求 使用以下内容作为源 在没有 Outlook 的情况下发送 Outlook 会议请求 https stackoverflow com questions 461889 sending
  • 如何制作 GUI?

    我为 Nintendo DS 制作了 GUI 系统的许多不同的独立部分 例如按钮 文本框和选择框 但我需要一种将这些类包含在一个 Gui 类中的方法 以便我可以将所有内容都绘制到屏幕上一次 并立即检查所有按钮以检查是否有任何按钮被按下 我的
  • 是否可以将批量 FFT 与 CUDA 的 cuFFT 库和 cufftPlanMany 重叠?

    我正在尝试并行化称为 Chromaprint 的声学指纹识别库的 FFT 变换 它的工作原理是 将原始音频分割成许多重叠的帧并对它们应用傅立叶变换 Chromaprint 使用 4096 的帧大小 2 3 重叠 例如 第一帧由元素 0 40
  • 可以用 Electron 进行复制/粘贴吗?

    我正在使用 Electron Nightmare js 进行单元测试 我需要复制一个string到 clibboard gt 聚焦某个元素 gt 粘贴内容 然后测试是关于我的 JavaScript 是否正常处理 我在电子文档中读到剪贴板 A
  • R 中使用 mapply 对子集参数进行非标准评估

    我无法使用subset的论证xtabs or aggregate 或我测试过的任何功能 包括ftable and lm with mapply 以下调用失败并显示subset争论 但它们的工作没有 mapply FUN xtabs form
  • 将 pyQt UI 转换为 python

    有没有一种方法可以将使用 qtDesigner 形成的 ui 转换为 python 版本来使用 而无需额外的文件 我在这个 UI 中使用 Maya 并且将此 UI 文件转换为可读的 Python 版本来实现 这真的很棒 您可以使用pyuic
  • 获取每组最新的n条记录

    假设我有下表 id coulmn id value date 1 10 a 2016 04 01 1 11 b 2015 10 02 1 12 a 2016 07 03 1 13 a 2015 11 11 2 11 c 2016 01 10
  • java.lang.RuntimeException:无法实例化服务

    我正在尝试编写一个监视短信的应用程序 我想从我的主 Activity 类启动一个服务 但该服务由于某种原因没有启动 我认为我在清单文件中声明服务的方式或从活动中调用它的方式可能存在问题 这是我的活动代码的一部分 public class T
  • 如何从 Log4j Logger / Appender 中排除单个类?

    我有一个包 com example 这个包有五个类 我想将其中四个类记录到一个文件中 但排除第五个类 我可以写四个记录器 例如logger name com example Class1 并将相同的附加程序添加到所有四个记录器 有没有更简单
  • 如何对非托管 C++ Dll 进行强命名?

    我正在开发一个 C 应用程序 它使用EasyHook 库 http easyhook codeplex com 用于 DLL 注入 EasyHook 要求任何使用它的应用程序都必须是强命名的 为了对应用程序进行强命名 我需要确保我使用的所有
  • 立即调用函数表达式 (IIFE) 相对于普通函数的优势

    我对 javascript 很陌生 我读过模块模式 https addyosmani com resources essentialjsdesignpatterns book modulepatternjavascript提供某种名称空间并
  • keras 模型子类化示例

    从 Keras 2 2 0 开始 发布了模型定义的第 3 个 API 模型子类化 根据常见问题解答 然而 在子类模型中 模型的拓扑定义为 Python 代码 而不是静态的层图 这意味着 无法检查或序列化模型的拓扑 结果 以下方法和属性不可用
  • 如何在运行时更改外部类日志记录级别后刷新 log4j

    我有一些想要禁用的警告 他们来自 org eclipse lyo oslc4j provider jena JenaModelHelper 班级 所以我使用 log4j 并在运行时调用 Logger getLogger org eclips
  • 使用 Ajax 平铺滚动/预加载 HTML 层(Google 地图样式)

    我希望复制 Google Maps API 的平移 不一定是缩放 效果 但不包含图像 本质上 我想将 HTML 元素放置在一个大坐标系中 并能够在它们周围导航 Prezi http prezi com 样式 尽管没有旋转 最好 我想通过 j
  • Magento:您可以设置它以便所有网站共享相同的订单增量 ID 序列吗?

    有谁知道是否可以让所有网站或商店共享相同的订单增量 ID 基本上 我们正在使用一个 ERP 系统 该系统允许我们提交发票号码作为系统中的实际订单号码 但问题是 他们只需要一个号码序列 而不是像 Magento 那样为每个商店使用不同的号码序
  • 防止 asp.net mvc 应用程序中的多个 POST

    如果用户不断单击提交按钮 如何防止用户多次将相同的数据发布到操作 我知道在 php 中 有一种方法可以防止这种多次提交 但我没有看到任何用于 asp net mvc 的方法 有没有 您可以使用 JavaScript 禁用提交按钮 jQuer
  • 画布上绘制的圆圈与屏幕不匹配

    我想在屏幕中心画一个圆圈 但我得到的是这样的东西 我正在使用这段代码来绘制这个圆圈 public void onCreate Bundle savedInstanceState super onCreate savedInstanceSta