处理 - 从选项卡访问适当的宽度和高度

Posted

技术标签:

【中文标题】处理 - 从选项卡访问适当的宽度和高度【英文标题】:Processing - accessing proper width and height from a tab 【发布时间】:2022-01-16 01:25:47 【问题描述】:

在我的主标签中,我使用:

void setup() 
  fullScreen(1);
  println(positions[0][0]);
;

在另一个选项卡中,我想创建一个二维数组并用正确的宽度和高度尺寸计算的值填充它。

int[][] positions = 
  int(width*18/28.), int(height*18/20.),
  int(width*6/28.), int(height*18/20.),
;

预期的答案是 972,宽度为 1512,但我得到 64,因为宽度被指定为默认值 100。

如何在带有数组的选项卡中获取正确的宽度和高度值?

【问题讨论】:

更多细节,其中之一:你期望得到什么,它打印了什么?此外,虽然不太重要:哪个版本的处理? 3.x 还是新的 4? (另请注意,您不需要 int 强制转换:只需删除 . 以使 java 使用整数数学。例如 width*18/28 而不是 int(width*18/28.) 您缺少预期值和实际打印值。乍一看,代码在语法上是正确的,但我们无法知道它在语义上是否正确 请输入该信息in your post,而不是您的评论。但是,在编辑时:解释为什么您期望该值。更好的是,通过显示完整的 minimal reproducible example 来明确这一点,以便人们可以看到与所涉及的每个变量相关的值。 @tgdavies 的宽度和高度在处理中未指定时默认为 100(使 64 完全是预期值) "[...] while println(int(width*18/28.)); give me 972" 在普通的处理草图中是不正确的,所以如果你想证明那是你需要展示一个正确的minimal reproducible example真的看到了。 【参考方案1】:

你没有错过任何东西,64 是你应该期待的值。 widthheight 如果未指定,则默认为 100,因此您将创建一个 0,0 元素设置为 int(width*18/28.) 的二维数组。

100 * 18 / 28 = 1800 / 28 = 64

这正是它应该做的。

【讨论】:

positions 数组是在另一个选项卡中定义的,所以我猜它没有选择正确的屏幕宽度和高度。如何使该数组具有正确的宽度和高度尺寸? 不,不是。您的问题显示了您正在使用的二维数组代码,并解释了 [0][0] 存在问题。没有,所以如果这不是你的问题:更新你的帖子to properly explain your problem。找出你的minimal reproducible example,然后写一篇文章来涵盖突出显示的问题。不要发布带有指导文本的代码,该代码实际上不是您要解决的问题。 我不知道我的问题是另一个问题。在您的帮助下,我更明白了,谢谢! 这就是minimal reproducible example 练习的重点:总是在发帖之前做,因为它可以让你发现真正的问题是什么,即使你仍然无法弄清楚一旦你完成了你的最小设置。

以上是关于处理 - 从选项卡访问适当的宽度和高度的主要内容,如果未能解决你的问题,请参考以下文章

颤振图标如何填充选项卡中可用的所有宽度和高度

Word中如何固定表格的宽和高

怎样使word表格的宽度高度固定不变

如何在适当的选项卡中保持突出显示?

Flutter - 选项卡上的动态高度

使 MFC CTabCtrl 不使用绘图选项卡的完整控件宽度