'use client' import { useMemo, useState } from 'react' import { ArrowDownToLine, Check, ChevronDown, CircleHelp, Download, GripVertical, Link2, Moon, MoreHorizontal, Plus, RotateCcw, Settings2, SlidersHorizontal, Sun, Upload, X } from 'lucide-react' const initialSteps = [ { id: 1, title: 'Gradient background', type: 'BACKGROUND' }, { id: 2, title: 'Remove background', type: 'TRANSFORM' }, { id: 3, title: 'Add outline', type: 'STYLE' }, { id: 4, title: 'Round corners', type: 'STYLE' }, ] function PreviewTile({ label, sublabel, style, active = false }: { label: string; sublabel: string; style: React.CSSProperties; active?: boolean }) { return
PNGeasy-png-tools
{label}{sublabel}
} export default function Page() { const [steps, setSteps] = useState(initialSteps) const [angle, setAngle] = useState(135) const [radius, setRadius] = useState(18) const [outline, setOutline] = useState(2) const [language, setLanguage] = useState('RU') const [dark, setDark] = useState(false) const [showIntermediate, setShowIntermediate] = useState(true) const [gradient, setGradient] = useState('#DCEBFF') const gradientStyle = useMemo(() => ({ background: `linear-gradient(${angle}deg, ${gradient}, #8BC8F5)` }), [angle, gradient]) const finalStyle = { ...gradientStyle, borderRadius: radius, boxShadow: `0 0 0 ${outline}px #16202B` } return
EPeasy-png-tools/ DEMO
AUTO PIPELINE
PNG PROCESSING / WORKSPACE

Build your image pipeline.

Chain simple tools together. Every change is processed automatically and previewed at each stage.

source.png1.8 MB
PROCESSING PIPELINE{steps.length} active steps • LIVE
{steps.map((step, index) =>
{String(index + 1).padStart(2, '0')}
{step.type}

{step.title}

AUTO
{index === 0 ?
setGradient(e.target.value)} aria-label="Gradient color" />
setAngle(Number(e.target.value))} />
: index === 2 ?
setOutline(Number(e.target.value))} />
: index === 3 ?
setRadius(Number(e.target.value))} />
Preserve aspect ratio
:
Automatic subject detection enabled
}
)}
changes are applied automatically
PIPELINE OUTPUTSVisual history
DIMENSIONS1200 × 800 px
FORMATPNG-24
SIZE1.2 MB
{showIntermediate && <>}

Output is generated in-browser. Your files never leave this device.

easy-png-tools v2.4.0 pipeline is local-only© 2024
}