diff --git a/core/src/render/ascii.rs b/core/src/render/ascii.rs index 9d2f2f4..83c353e 100644 --- a/core/src/render/ascii.rs +++ b/core/src/render/ascii.rs @@ -12,12 +12,11 @@ pub fn render_ascii(qr: &QrCode, invert: bool) -> String { let mut result = String::new(); for y in 0..total { for x in 0..total { - let mx = x.saturating_sub(margin); - let my = y.saturating_sub(margin); - let is_dark = if mx < size && my < size { - qr.modules()[my][mx] + let in_qr = x >= margin && x < margin + size && y >= margin && y < margin + size; + let is_dark = if in_qr { + qr.modules()[y - margin][x - margin] } else { - false + false // 静区始终为亮色 }; result.push_str(if is_dark { dark_char } else { light_char }); }