js+css实现图片ASCII码多种特效可调节代码

代码语言:html

所属分类:其他

代码描述:js+css实现图片ASCII码多种特效可调节代码,可选择本地图片并可视化调节导出下载

代码标签: js css 图片 ASCII 多种 特效 调节 代码

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!DOCTYPE html>
<html lang="en" >

<head>
  <meta charset="UTF-8">

  
  
<style>
body {
            margin: 0;
            background-color: #050505;
            overflow: hidden;
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            display: flex;
            justify-content: center;
            align-items: center;
            height: 100vh;
            color: #ccc;
        }

        canvas {
            box-shadow: 0 0 50px rgba(0,0,0,0.9);
            max-width: 95vw;
            max-height: 95vh;
            background-image: 
                linear-gradient(45deg, #151515 25%, transparent 25%), 
                linear-gradient(-45deg, #151515 25%, transparent 25%), 
                linear-gradient(45deg, transparent 75%, #151515 75%), 
                linear-gradient(-45deg, transparent 75%, #151515 75%);
            background-size: 20px 20px;
            background-position: 0 0, 0 10px, 10px -10px, -10px 0px;
        }

        #fileInput { display: none; }

        .tp-container {
            position: fixed;
            bottom: 20px;
            right: 20px;
            z-index: 100;
            width: 340px;
            max-height: 90vh;
            overflow-y: auto;
        }
        
        .tp-container::-webkit-scrollbar { width: 6px; }
        .tp-container::-webkit-scrollbar-thumb { background: #444; border-radius: 3px; }
</style>

</head>

<body translate="no">
  <input type="file" id="fileInput" accept="image/*">
    <canvas id="canvas"></canvas>
    <div class="tp-container"></div>

<script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/tweakpane.3.1.4.js"></script>
  
    <script  >
const canvas = document.getElementById('canvas');
const ctx = canvas.getContext('2d', { willReadFrequently: true });
const fileInput = document.getElementById('fileInput');

// --- SVG HANDLING SETUP ---
const svgInput = document.createElement('input');
svgInput.type = 'file';
svgInput.accept = '.svg';
svgInput.style.display = 'none';
document.body.appendChild(svgInput);

let customSVGPath = null;
let customSVGViewBox = { x: 0, y: 0, w: 100, h: 100 }; // Default fallback dimensions

// Image State
let sourceImage = new Image();
sourceImage.crossOrigin = "Anonymous"; 

sourceImage.onload = () => render();
sourceImage.src = '//repo.bfw.wiki/bfwrepo/image/5d653b5271e3b.png';

// --- CONFIGURATION ---
const params = {
    mode: 'halftone',      
    shape:.........完整代码请登录后点击上方下载按钮下载查看

网友评论0