使用JavaScript绘制二进制数据流图片的简单示例

<template>
  <canvas id="binaryCanvas" width="400" height="200"></canvas>
</template>

<script setup>
import { onMounted } from 'vue';

const drawFn = () => {
  // 获取Canvas元素和上下文
  var canvas = document.getElementById('binaryCanvas');
  var ctx = canvas.getContext('2d');
  // 二进制数据流
  var binaryStream = "1010110101011010";
  // 绘制二进制数据流图像
  drawBinaryStream(canvas, ctx, binaryStream);
};

// 绘制函数
const drawBinaryStream = (canvas, ctx, binaryStream) => {
  // 清除Canvas
  ctx.clearRect(0, 0, canvas.width, canvas.height);
  // 设置绘制颜色
  ctx.strokeStyle = 'blue';
  // 设置绘制起点
  var x = 10;
  var y = canvas.height / 2;
  // 设置绘制步长
  var step = canvas.width / binaryStream.length;
  // 开始绘制
  ctx.beginPath();
  ctx.moveTo(x, y);
  // 根据二进制数据流绘制图形
  for (var i = 0; i < binaryStream.length; i++) {
    var bit = parseInt(binaryStream[i]);
    // 更新绘制位置
    x += step;
    // 绘制线段
    if (bit === 0) {
      ctx.lineTo(x, y - 20);
    } else {
      ctx.lineTo(x, y + 20);
    }
  }
  // 结束绘制
  ctx.stroke();
};

onMounted(() => {
  drawFn();
});
</script>

<style scoped>
  .box {
    width: 100%;
    height: 100%;
  }

  #binaryCanvas {
    border: 1px solid #000;
  }
</style>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值