Paint.NET作者:借Claude反向工程重写 18 万行Direct2D,实现在WINE上运行
Paint.NET作者Rick Brewster表示,由于Direct2D在WINE上永远无法完整支持,他借助AI(Claude)从头逆向重写了约 18 万行代码,通过 /wine参数启用,代码未充分审查,属于“vibe coding”产物。
AI解读:Paint.NET是Windows上的开源图像编辑器,作者Rick Brewster想让它通过WINE在Linux和macOS上运行,但一直卡在微软的图形接口Direct2D上——WINE对Direct2D的支持不完整,而且Paint.NET无法禁用该依赖。于是Brewster决定从头逆向工程重写一套自己的Direct2D,共约 18 万行代码,放在PaintDotNet.Windows.Direct2D1.Managed.dll中,通过 /wine参数触发。这套代码由AI(Claude)生成,Brewster称自己不可能逐行审查 18 万行,只能“信任我兄弟式”地接受,期间还需要纠正Claude的资源管理错误(如忘记对COM对象引用计数)和糟糕的架构决策。对普通用户来说,这意味着未来Paint.NET可能通过WINE在非Windows系统上运行,但前提是这套代码足够稳定——目前它未经过严格测试,风险较高,建议等正式版发布后再尝试,不要急于用于生产环境。
Paint.NET作者Rick Brewster在 2026 年 9 月 2 日表示,Paint.NET现在包含一个从零开始、逆向工程重写的Direct2D实现,专门用于在WINE上运行。据Brewster称,WINE对Direct2D的支持“永远不会完整到足以满足Paint.NET的使用”,而Paint.NET又无法禁用Direct2D,因此他决定编写一个内部实现,通过 /wine参数触发。