awesome-repositories.com
博客
MCP
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
1j01 avatar

1j01/jspaint

0
View on GitHub↗
7,801 星标·662 分支·JavaScript·MIT·7 次浏览jspaint.app/about↗

Jspaint

jspaint is a web-based reimplementation of Microsoft Paint, built entirely in JavaScript to run in a browser. It recreates the classic desktop application by reverse-engineering the original Win32 API calls and event handling, rendering the entire interface onto an HTML5 canvas for pixel-perfect retro graphics. The project preserves the original file format compatibility with BMP, PNG, GIF, and JPEG, ensuring exact pixel data matches the legacy application.

The application maintains a complete undo history stack using compressed image snapshots, and offloads computationally intensive image processing to web workers to keep the interface responsive. It includes a plugin extension system that allows third-party scripts to hook into the application lifecycle and modify tool behavior. User preferences, tool settings, and recent files are persisted across page reloads through browser localStorage.

Additional capabilities include vertical text input and editing for CJK typesetting, the ability to list installed fonts for text tool selection, and a toggle for the font formatting toolbar. The desktop version can be packaged as an AppImage for Linux distributions.

Features

  • Canvas Rendering - Renders the entire application UI onto an HTML5 canvas using pixel-level drawing operations.
  • Legacy Image Format Preservation - Preserves exact pixel data for BMP, PNG, GIF, and JPEG formats matching the legacy application.
  • Win32 API Emulation Layers - Reimplements original MS Paint logic by reverse-engineering and porting Win32 API calls to JavaScript.
  • JavaScript Plugin Systems - Allows third-party scripts to hook into the application lifecycle and modify tool behavior via a JavaScript plugin API.
  • Image Processing Offloading - Offloads computationally intensive image processing operations to background web workers for UI responsiveness.
  • Undo-Redo History - Maintains a complete stack of canvas state snapshots for unlimited undo/redo operations using compressed image data.

Star 历史

1j01/jspaint 的 Star 历史图表1j01/jspaint 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

常见问题解答

1j01/jspaint 是做什么的?

jspaint is a web-based reimplementation of Microsoft Paint, built entirely in JavaScript to run in a browser. It recreates the classic desktop application by reverse-engineering the original Win32 API calls and event handling, rendering the entire interface onto an HTML5 canvas for pixel-perfect retro graphics. The project preserves the original file format compatibility with BMP, PNG, GIF, and JPEG, ensuring exact pixel data matches the legacy application.

1j01/jspaint 的主要功能有哪些?

1j01/jspaint 的主要功能包括:Canvas Rendering, Legacy Image Format Preservation, Win32 API Emulation Layers, JavaScript Plugin Systems, Image Processing Offloading, Undo-Redo History。

1j01/jspaint 有哪些开源替代品?

1j01/jspaint 的开源替代品包括: szimek/signature_pad — signature_pad is a JavaScript library and drawing tool for capturing handwritten digital signatures on an HTML5… samdutton/simpl — Simpl is an HTML, CSS, and JavaScript example library that provides a collection of minimal functional demonstrations… remy/html5demos — This project is a collection of technical demonstrations and prototypes that showcase various HTML5 APIs, multimedia… antonioru/beautiful-react-hooks — This project is a collection of reusable React hooks designed to wrap browser APIs, manage state persistence, and… fogleman/gg — gg is a Go 2D graphics library and vector graphics engine designed for programmatic image generation. It provides a… anvaka/map-of-github.

Jspaint 的开源替代方案

相似的开源项目,按与 Jspaint 的功能重合度排序。
  • szimek/signature_padszimek 的头像

    szimek/signature_pad

    11,955在 GitHub 上查看↗

    signature_pad is a JavaScript library and drawing tool for capturing handwritten digital signatures on an HTML5 canvas. It provides a handwriting capture interface that transforms raw mouse or touch inputs into smooth, professional-looking lines. The project uses Bézier curve interpolation to smooth jagged input points into fluid strokes. It supports the configuration of drawing aesthetics, including pen color, background color, and line width, and includes a history management system for undoing and restoring drawing actions. The library handles the serialization of signature data into poin

    TypeScriptcanvasdrawingjavascript
    在 GitHub 上查看↗11,955
  • remy/html5demosremy 的头像

    remy/html5demos

    4,729在 GitHub 上查看↗

    This project is a collection of technical demonstrations and prototypes that showcase various HTML5 APIs, multimedia capabilities, and web standard implementations. It serves as a frontend technology sandbox and a gallery of implementation proofs-of-concept for modern browser features. The collection includes specialized showcases for HTML5 multimedia, featuring the manipulation of audio, video, and real-time media streams. It also provides a series of experiments focused on prototyping web capabilities to verify technical feasibility and browser support in live environments. The project cov

    HTML
    在 GitHub 上查看↗4,729
  • samdutton/simplsamdutton 的头像

    samdutton/simpl

    5,191在 GitHub 上查看↗

    Simpl is an HTML, CSS, and JavaScript example library that provides a collection of minimal functional demonstrations of core web technologies and native browser APIs. It serves as a reference implementation and pattern gallery for frontend development, offering practical examples of how to implement common web features. The project showcases a wide range of browser capabilities, including real-time web communication via WebSockets and WebRTC, responsive web design techniques for adaptive layouts, and the implementation of offline workflows using service workers. It also provides demonstratio

    HTMLcsshtmljavascript
    在 GitHub 上查看↗5,191
  • antonioru/beautiful-react-hooksantonioru 的头像

    antonioru/beautiful-react-hooks

    8,355在 GitHub 上查看↗

    This project is a collection of reusable React hooks designed to wrap browser APIs, manage state persistence, and handle DOM observation. It provides a consistent interface for integrating native browser capabilities directly into the React component lifecycle. The library includes specialized toolkits for monitoring the browser environment, such as window resizing, network connectivity, and viewport visibility. It also provides mechanisms for managing execution timing through debouncing, throttling, and the control of timeouts and intervals. Additional capabilities cover state management wi

    JavaScriptcustom-hooksfront-endhooks
    在 GitHub 上查看↗8,355
  • 查看 Jspaint 的所有 30 个替代方案→