首页 新闻 会员 周边 捐助

如何在。net实现集成绘图软件

0
悬赏园豆:30 [已解决问题] 解决于 2014-02-12 11:43

软件环境:VS2010+sqlserver2008

C/S架构

需求如下:现需要将一测量绘图软件集成在系统中,能够直接打开某用户的图片进行编辑修改以及测量(如AI绘图软件),然后保存到数据库中。

希望高人能够提供解决方案

  

愿得一博友的主页 愿得一博友 | 初学一级 | 园豆:38
提问于:2014-02-11 11:26
< >
分享
最佳答案
1

这里面涉及到了几个问题

1、License问题,测量绘图软件应该是有LICENSE的。

2、你是指特定的一个软件,还是任意的图片修改软件?如AI,那是Adobe Illustartor的。PSD那是Photoshop的,

CDR那是Coreldraw的,还有AutoCAD, 3DMax等等。基本上现在还没有一个软件可以实现打开所有格式的文件。

3、如果是特定的软件,特定的功能,你需要指出来,才能进行下一步的指点。

4、如果是非特定软件,你的问题就变成C/S实现类似Google Doc这样的功能。(如果不知道啥是Google Doc,请Google)

5、类似的需求,我以前考虑过,可惜没有找到买家来买单。

6、有个建议,文件类型的数据不建议保存在数据库中,而应该保存在服务器的文件系统中,然后由服务器提供Web Service或是Windows Service来提供给Client端,数据库只保存文件路径。

7、Client下载到客户端后,使用类似Process.Start的功能启动相应的编辑软件打开,这时候需要考虑的问题是

     a. 临时文件路径。

     b. 如何在图片编辑软件修改保存后,监视到这个修改,并将修改保存回服务器。

8、大概就说这么一些,不过这东东不容易就是了,除了实现之外,还受到网络环境(速度)的影响。

如何将软件做得让用户没有感觉到,这个就不容易了。

如果我现在报价的话,应该是会超过10万的。

收获园豆:30
爱编程的大叔 | 高人七级 |园豆:30844 | 2014-02-12 10:14

大侠!感谢你的回答,对我启发很大,我把我的问题再整理一遍。希望能够得到您的指点

1、只要是能集成能够修改JPEG图片的绘图软件即可。

2、您给的建议很好,确实不应该把文件系统保存在数据库中,我文件是由客户端传输给服务器的(用ftp行吗),服务器那边有人接收,然后可能会修改图片(通过绘图软件,比如收到张三的图片,能够在线修改然后保存到数据库之后再反馈给客户端)。

愿得一博友 | 园豆:38 (初学一级) | 2014-02-12 10:29

@愿得一博友: 

就算是JPEG的修改,也是有重有轻的,业界最知名的就是PS了,他啥都能干。

如果只是要最简单的rotate, corp, resize等等,你可以自己用开源库搞定,比如AFORGE

如果是要卖萌的,有美图秀秀什么的....

如果是要免费的,有PICASA什么的,不过好久没有听过Google提到这个名字了,可能是因为我没有关心这个待业吧。

关于文件在客户端与服务端的传输,我的意思是,客户端软件要完全HANDLE,让用户感觉自己就是在自己的电脑上操作。至于实现,弄个网站,专门进行文件上传下载的服务就行了,用FTP不是很合适(虽然这么说,不过要弄好不容易)。

这么说吧,有个客户,我帮他做了订单系统,里面有产品资料,他要加一个图片,如果加在数据库里面,

基本上我是不加收钱的,如果要加在文件系统里面,1万以内我是不干的。有时候考虑多了,10万也搞不定。

所以怎么加你自己看着办。

我还帮一个银行做过一个文档扫描存储系统,

原来的软件公司做了一个软件,就是把图片放在数据库里面,结果数据库恶大无比,

我的软件放在文件系统里面,实现了功能,不过好多事情都没有帮他们考虑,必竟一分钱一分力啊。

但总之一点,客户端不必考虑数据放在哪儿。

传统的C/S开发,或者说普通的开发人员,其实只懂得 Client / SQL Server,而不是Client/Server。

不过商业开发,如进销存什么的, 懂得Client/SQl Server也就差不多可以混饭吃了。

爱编程的大叔 | 园豆:30844 (高人七级) | 2014-02-12 11:21

@爱编程的大叔: 太感谢你了!我去试试AFORGE,至少我知道了这个功能是完全可以实现的,真是帮了我的大忙了!

愿得一博友 | 园豆:38 (初学一级) | 2014-02-12 11:43

@爱编程的大叔: 我还想问一下,可能问题比较弱智...能否达到将绘图软件直接嵌套在系统中,我只需要得到它最后修改完成的图片,修改操作我都不要管。。

愿得一博友 | 园豆:38 (初学一级) | 2014-02-12 11:57
其他回答(1)
0

这个你要看这个软件有没有提供接口了,比如office它提供了相关的dll可供调用,有的提供了activeX可以直接实现集成到自己的项目里。如果没有提供,那是比较难办的,除非你手动控制打开软件,然后模拟鼠标键盘操作,但这种方案有很大局限性。

空明流光 | 园豆:111 (初学一级) | 2014-02-11 17:25
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册