p5.js中CSV读取字符串可显示,截取子串无法显示求助
p5.js文本显示问题排查
核心原因分析
你的最小复现代码缺少画布初始化逻辑,默认p5.js画布仅100×100像素,text(first,750,500)的坐标完全超出可视范围,因此无法显示。而你提到长字符串qut能显示,大概率是实际代码中设置了足够大的画布,但最小复现未体现这一点。
针对CSV加载场景,还需排查以下可能:
- 坐标溢出:
first的显示坐标(1100,0)若超出画布宽度,会直接被裁剪。而长字符串qut因自动换行,可能有部分内容落在画布内,造成“可显示”的错觉。 - 不可见截取内容:CSV的
Quote字段开头可能包含大量空格、换行符或控制字符,截取前44个字符后全为不可见内容,看起来像“无法显示”。可通过console.log(first)打印实际内容验证。 - 样式冲突:若代码中动态修改了文本样式(如
fill颜色与背景一致、textSize设为0),会导致文本不可见。
修正示例代码
function setup() { createCanvas(1200, 600); // 创建足够容纳文本的画布 textSize(16); // 设置清晰的文本大小 } let qut = "We are gathered here today to celebrate the life of Edward Snowden, deceased at the ripe young age of 73. He was a brave, bold and wise man"; let first = qut.substring(0,44); function draw() { background(255); text(qut, 50, 50); text(first, 50, 100); // 将坐标调整至画布可视范围内 }
内容的提问来源于stack exchange,提问作者Mysteryxx3
相关产品推荐
相关产品推荐

