只接受发布货源信息,不可发布违法信息,一旦发现永久封号,欢迎向我们举报!
1064879863
16货源网 > 餐饮行业新闻资讯 > 软件开发 >  写一个PS(Photoshop)一样的软件有多难?


写一个PS(Photoshop)一样的软件有多难?

发布时间:2019-09-02 02:27:25  来源:网友自行发布(如侵权请联系本站立刻删除)  浏览:   【】【】【
不敢想象,没到那个级别。
写一个PS(Photoshop)一样的软件有多难?

不敢想象,没到那个级别。

我这样说吧,微软这样的公司,花两年时间,不一定能做出来。

这种软件不是一般人能做出来的

很难,这个软件已经经历了20多年的更新换代,想写出来需要花费的人力物力,可以用计算器算一下!哈哈

我写过一些图像处理的小程序,可以实现部分PS能做到的事情。当然,做这个程序的目的并不是做一个新的图像处理软件,是为了必要的简化图像处理工作而做的程序。我也不是编程大神,但这个过程中,查阅了不少图像处理的软件,同时也发现了很多共享的图像处理代码。说实话,要翻版一个PS,确实不是难事。而PS有今天的不可撼动的地位,那是多年对图像处理的理解,和解决了设计师的工作需求,这个才是最伟大的地方。现今好像一些光影魔术手,美图等类似的软件,也能实现大部分PS的功能,但为什么就是不比PS火呢?原因很简单,就是用着不顺手啊。Adobe花了那么多时间去打磨的软件,而且也是用习惯了。

我写了一个ps插件,功能算是很简单。用了整整半年多。


不敢想象,那个写网页版本ps的家伙,简直就是神一样的存在。


我的插件:www.pslkzs.com

大牛的网页版本:www.photopea.com

如果只是想模精品部分功能 那倒是不难;

计算机图像相关专业的研究生来两个三个 能整个类似的。原理并不难,但是要实现类似的庞大的功能集和高性能相当难。

更何况该软件发展了这么多年 功能多的超乎寻常。

根据代码量:精品制PhotoShop需要200亿人民币

从工作量来说,Photoshop大约有数千万行代码。写一个一模一样的软件,粗略估计需要五千人年,周期在5年左右。Adobe同水平的工程师年薪30万美元,折合15亿美元,包括周边管理费用合计30亿美元。折合200亿人民币左右。

完全本土开发,可能100亿就够了。但估计很难有足够数量和相关经验的C++图形工程师,部分技术难点也需要攻关。

只模精品核心基本功能,一个人几年就可以做到

作为全球第二大独立软件开发商,Adobe的拳头产品PhotoShop可谓万众瞩目。类似PhotoShop的软件犹如过江之鲫,但没有一个能够撼动PS的地位。

PS的功能非常庞大,90%的功能普通人根本不会用到。剩余功能常用的也只占1%。PhotoShop V1.0的功能就可以满足大部分初级用户的需求了。

下面这个在线编辑器PhotoPea,是最成功的PS精品制者之一,一个人开发了几年时间。

Adobe研究了很多算法,但都没有开源,甚至论文都没发。比如魔术棒工具,用开源算法写一个的话,你会发现速度、效果都比不上Photoshop里的。读过几篇Adobe的文章,发现都是很多年前的研究。最新的可能都还在保密阶段吧。

非常难

首先既然是打算写一个类似PS的软件,首先自然是分析PS有多少功能,功能很多,我试着

来分析看看,从菜单入手

PS CS6的菜单栏

首先第一个功能是 "文件(F)" 的一系列功能

文件(F) 菜单

这里有多少东西,不多,核心就一个

可以打开和保存的图片文件类型

最起码psd、jpeg、png、pdf、gif格式要支持吧、而且对于上百兆的文件打开也要能打开和编辑吧,兼容性也要做好,懂文件格式、各种参数设置、写解码器不容易的,当然要压缩功能的话自己读论文写编码器吧,这里可以借鉴开源代码,这个独立功能很好单独调试的。

第二个功能是“编辑(E)”

编辑

核心功能有六个:历史记录(前进后退)、描边(识别边缘)、变换(旋转、缩放、变形、翻转)、设置选项(包括 单位系统、参考线与自动对齐系统、内存磁盘多级缓存系统、GPU硬件加速)、颜色系统(标准颜色支持RGB、CMYK最起码的)、键盘快捷键(支持多个复杂组合的快捷键),这几个做好了操作手感和性能,都是硬核实力,能吊打PS的。


第三个是“图像(I)”

图像

最有用的功能就是“调整(J)”了

这个完全的图像处理基本功了,硬碰硬的图像算法了。

后面几个菜单,也就“滤镜(T)”有难度了,有啥滤镜我就不截图了,拼算法了。

接下来,做一个工具栏也是一个大工程

选区工具、选区编辑(叠加、交集、并集、减集)、套索工具、图章工具、画笔工具(粗细、硬度、数位板钢笔压力支持)、魔棒工具、橡皮擦工具、钢笔工具(锚点编辑工具,个人吐槽,钢笔工具不能智能切换操作锚点,太麻烦了)、文字工具(好做,但是做好很难,比如PS上面,切换到文字工具,它就不能智能突出可选的文字对象或者进入“仅文字对象可选”状态,存在大概率选错文字,导致意外变成新建文字的操作)

当然图层功能不能少,这个的话难度不大,主要是图层的对象管理,内存控制,如何做好各个图层像素的合成与渲染,图层功能上想做出花(突破口)来,可以往面向对象上花功夫,一切画面的东西都是可编辑的对象,可以复制(关联变动,二者会同步变化)、智能对齐和停靠其他对象或者参考线

如果只打算支持一个平台,就windows就好了,win32自行往上封装代码吧,需要自建一个UI绘制系统。

从零开始,win32弄一个空白窗口不容易呐,代码调试才是最难的地方,最近试了一下。

至于开发费用,玄学得很,踏踏实实一步一个功能实现吧,从一个简单的图片查看裁剪、压缩工具开始吧,这个时候可以把UI风格确定了。

暂时想到这么多,当然,AI算法能研究还是最好,毕竟一键抠图这个功能,我相信没有人会讨厌的,hhhhhh。

责任编辑:
热门阅读排行
© 16货源网 1064879863