You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript像素绘制函数pixelPrint无法接受大于9的宽度值问题排查

问题原因
  • 核心错误点在尺寸校验逻辑:代码里if(sizeData.indexOf("*") == 1)硬编码要求星号*必须出现在尺寸字符串的第2个字符位置(JS字符串索引从0开始计数),这就限定了宽度只能是1位数字,输入两位及以上宽度(比如10)时,星号位置后移,校验不通过直接返回尺寸无效错误。
  • 次要潜在问题:拆分得到的pixWidth、pixHeight是字符串类型,虽然JS循环会隐式类型转换,但未显式转数字可能在部分场景下出现异常。
修复方案

将原函数中尺寸解析的对应代码段替换为如下逻辑即可:

// 注释掉原错误校验逻辑
// if(sizeData.indexOf("*") == 1){
//     pixWidth = sizeData.split("*")[0];
//     pixHeight = sizeData.split("*")[1];
// }else{
//     return("<p style='color: #ff0000'>Error: size data not valid</p>");
// }
// 替换为以下校验逻辑
const sizeArr = sizeData.split("*");
if(sizeArr.length === 2 && !isNaN(sizeArr[0]) && !isNaN(sizeArr[1])){
    pixWidth = parseInt(sizeArr[0], 10);
    pixHeight = parseInt(sizeArr[1], 10);
}else{
    return("<p style='color: #ff0000'>Error: size data not valid</p>");
}

修复说明:

  • 不再硬编码校验星号位置,直接用*拆分尺寸字符串,只要拆分后得到两个合法数字就视为尺寸有效,支持任意位数的宽高数值
  • 显式将宽高转换为整数,避免后续循环渲染时出现类型相关的异常问题

内容的提问来源于stack exchange,提问作者Major_Flux-

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 11:54:02