// @ts-nocheck import React, { useRef, useState } from "react"; // https://github.com/embiem/react-canvas-draw type DrawImageProps = { imageData: string; }; import { DrawImageMain, //@ts-ignore } from "./drawImage.css.ts"; export default function DrawImage({ imageData }: DrawImageProps) { const canvasRef = useRef(null); const [isDrawing, setIsDrawing] = useState(false); const _handleMouseDown = ( e: React.MouseEvent ) => { console.log("mouse down", e); const { nativeEvent: { offsetX, offsetY }, } = e; setIsDrawing(true); }; const _handleMouseUp = ( e: React.MouseEvent ) => { setIsDrawing(false); const canvas = canvasRef.current; if (canvas) { const data = canvas.toDataURL(); console.log("data", data); } }; const _handleMouseMove = ( e: React.MouseEvent ) => { if (isDrawing) { const canvas = canvasRef.current; if (canvas) { const ctx = canvas.getContext("2d"); ctx.strokeStyle = "red"; const { nativeEvent: { offsetX, offsetY }, } = e; ctx.beginPath(); ctx.lineWidth = 20; // Sets the end of the lines drawn // to a round shape. ctx.lineCap = "round"; ctx.strokeStyle = "white"; // The cursor to start drawing // moves to this coordinate ctx.moveTo(offsetX, offsetY); // A line is traced from start // coordinate to this coordinate ctx.lineTo(offsetX, offsetY); // Draws the line. ctx.stroke(); } } }; return (
); }