我有一个带有几个图层的Photoshop文档,我可以打开和关闭它以使图像显示不同的数据。是否可以将此图像放在WPF页面中并使用C#打开和关闭图层?我一直在谷歌搜索一段时间,但似乎没有太多关于这个主题的信息。我读过你可以使用Expression Blend来做这件事,但我没有任何使用它的经验 非常感谢任何帮助,谢谢!
答案 0 :(得分:2)
(免责声明:我是Microsoft的软件工程师,我曾经在Expression Blend工作)
简而言之,没有。没有内置支持在.NET Framework中加载Photoshop文件,也没有WPF(尽管Blend支持将PSD文档加载到项目中 - 它有自己的代码 - 并且它不支持所有功能以PSD文件格式出现。)。
如果你想将PSD文件加载到你自己的程序中,你需要一个PSD文件阅读器 - 要么自己编写(考虑到文件格式有多复杂,这是一个傻瓜的差事),要么获得/许可现有的库,有可用的开源实现(参见Paint.NET)。
PSD文件的一个问题是单个图层本身不一定是简单的栅格,PSD文档也不总是包含全分辨率复合图像。考虑效果层(亮度,色阶等)或层效应(外发光,渐变叠加等)。
我建议让Photoshop(通过动作或Droplet程序)将PSD的图层转换为单独的PNG文件(应用任何效果后),然后将它们加载到程序中并根据您的要求显示它们。