绘画程序框架

Posted

技术标签:

【中文标题】绘画程序框架【英文标题】:Framework for paint program 【发布时间】:2012-04-11 10:33:45 【问题描述】:

我决定开始一个个人项目,尝试开发一个跨平台的、类似于 MSPaint 的应用程序。奇怪的是,我发现 mspaint 是我在 Linux 或 OS X 上最想念的应用程序之一,所以我想尝试制作类似的东西。 Tuxpaint、mtpaint、gpaint 等都是旧的、不活跃的、丑陋的。我不想做 GIMP,只做基础,功能类似于 MS Paint。

我正在考虑使用 pygtk 工具包在 python 中执行此操作,但我很想听听您的建议。 C/C++ 会是更好的选择,还是单声道的 C#(喘气!)?如何使用 Qt 而不是 GTK,或者我不知道的其他一些花哨的库(请不要使用 FLTK!)。我很想听听你的想法。

谢谢!

【问题讨论】:

您可以在 Linux 下使用 Gimp 或更简单的 Inkscape。 LibreOffice 也有一些绘图能力。 @BasileStarynkevitch 这些工具都没有记事本的原始简单性。如果有什么gpaint 是我见过的最像油漆的话。 有时您只是想剪裁图像、添加一段文字或随意涂鸦。 GIMP 和 Inkscape 太过分了。 gpaint 最后一次修改是在 2000 年,所以它已经过时了。我认为这将是一个有趣的项目,尽管它可能不会成功。 为什么“请,不要 FLTK!”?在提到的所有工具包中,它是最简单、最快的...... 【参考方案1】:

Qt 的画布对象(或其更新的替代品 QGraphicsView)可以做一些很酷的事情。选择 C++ 还是 python 是个人选择的问题,因为两种语言都支持 Qt。对于这样一个简单的项目,我会选择 python,因为杀手级性能不是什么大问题,而且它会更容易编写。

要研究的另一件事是使用 html5 的画布对象和 javascript 使这个应用程序基于 Web。它可以非常强大,在大多数情况下,任何可以放在云端的东西都是一种胜利。

【讨论】:

【参考方案2】:

如果您决定使用 Python(这是我的选择,因为它是如此简单的语言),那么 TkInter 被认为是 de-facto standard GUI package。该链接应该会向您发送一些关于 TkInter 的优秀入门参考资料,尽管我也非常喜欢 Not_a_Golfer 对 HTML5 网络应用程序的建议。

【讨论】:

我还没有尝试过 tkinter,而且我的大部分 Qt 编程都是用 C++ 编写的,但它无疑是我用过的任何东西最好的 C++ API . tkinter 的画布能力如何?顺便说一句,SDL 在这里也是一个选择,但可能有点矫枉过正。 恐怕我不是回答这个问题的最佳人选,因为我主要使用 Python 进行文本处理而不是 GUI 工作。我推荐 TkInter 作为“Pythonic”的选择。也许比我有更多 GUI 经验的人可以添加评论来解决您的问题。【参考方案3】:

简短:您可以同时使用两者,没有第三方库保证与所有主要发行版一起分发。

长:

Gtk+ 与 Qt

您希望在您的应用程序中加入什么。如果只是选择画笔,选择颜色,你几乎可以使用任何 gui 工具包。

如果你打算将它作为基于 Web 的工具运行,Gtk+ 有一个 html5 后端渲染器(我不了解 Qt)

旁注: 我建议使用工具包的本地编程语言(gtk+ C、Qt C++)——如果你不这样做,你会因为错误修复而延迟,通常会有更多错误和延迟发布,尽管在这种情况下它应该不重要。

其他一切都归结为个人喜好,解决这个问题已经存在一些问题。

【讨论】:

【参考方案4】:

如果你使用的是qt,你可以使用QtitanRibbon

【讨论】:

以上是关于绘画程序框架的主要内容,如果未能解决你的问题,请参考以下文章

绘画应用程序中的 UISwipeGestureRecognizer

在 iOS / iPad 上编写绘画应用程序的最佳方法

iPad绘画应用程序上的递归洪水填充

2022年全网最全AI绘画产品整理(一共23款,免费的绘画次数用到你手软)

2022年全网最全AI绘画产品整理(一共23款,免费的绘画次数用到你手软)

2022年全网最全AI绘画产品整理(一共23款,免费的绘画次数用到你手软)