我刚刚遇到过需要在上传时将EPS文件转换为JPG文件的情况。
我最喜欢做的是,上传EPS文件时;我想保留原始EPS文件并将其保存在文件夹下的后台,并将EPS图像转换为JPG并将其保存在另一个文件夹中。
这是否可以通过C#实现?如果是这样,有人可以指导我朝正确的方向发展吗?
我使用过ImageMagick和GhostScript,从命令行我可以将EPS转换为JPG但不知道如何将其嵌入到C#应用程序中并在上传时将EPS转换为JPG。
任何帮助或任何演示相同的演示都将是一个很大的帮助。
谢谢, Zulfi
答案 0 :(得分:1)
在研究了可用的解决方案一段时间之后,我遇到了似乎运行良好的this utility。这是200美元/服务器。 VeryDoc的实用程序不依赖于任何第三方库(与其他解决方案不同),它提供了多种格式之间的转换。可用的命令行选项:
C:\>ps2img.exe
-------------------------------------------------------
Description:
Convert PS (Postscript) and EPS to TIF, TIFF, JPG, GIF, PNG, BMP, WMF, EMF, PCX, TGA, etc. formats
Usage: ps2img [options] <-i PS File> [-o Output]
-i [input PS] : Input PS filename
-o [output file]: Output TIFF filename
-g : Convert to 8-bit grayscale image file, this option is only available while bitcount equal 8 (-b 8)
-m : Set output to multi-page TIFF file, the default is output to single page TIFF files
-r [resolution] : Set resolution in generated image files
-r 300 : Set horizontal and vertical resolution to 300 DPI
-r 200x300 : Set horizontal and vertical resolution to 200x300 DPI
-r 204x98 : Set horizontal and vertical resolution to 204x98 DPI
-f [first Page] : First page to convert
-l [last Page] : Last page to convert
-c [compress] : Set compression method in generated image files (for tif only)
-c none : Create TIFF file without compression
-c lzw : Compress TIFF using LZW arithmetic
-c jpeg : Compress TIFF using JPEG arithmetic
-c packbits : Compress TIFF using packbits arithmetic
-c g3 : Compress TIFF using CCITT G3 arithmetic
-c g4 : Compress TIFF using CCITT G4 arithmetic
-c ClassF : Compress TIFF into Fax compatible ClassF 204x98 format
-c ClassF196: Compress TIFF into Fax compatible ClassF 204x196 format
-q [quality] : Set quality in created image files (for jpeg image only)
-b [bit count] : Set bit count in generated image files
-? : Help
-------------------------------------------------------
Example:
ps2img -i C:\input.ps -o C:\output.tif
ps2img -i C:\input.eps -o C:\output.tif
ps2img -m -i C:\input.ps -o C:\output.tif
ps2img -c lzw -i C:\input.ps -o C:\output.tif
ps2img -q 80 -i C:\input.ps -o C:\output.jpg
ps2img -b 4 -i C:\input.ps -o C:\output.tif
ps2img -i C:\input.ps -o C:\output.tif -b 1 -c ClassF -r 204x98 -m
ps2img -f 1 -l 9 C:\input.ps -o C:\output.jpg
ps2img -i C:\*.ps -o C:\*.pcx
另一种选择,ImageMagick(免费)+ GhostScript价格为reportedly,价格为32,000美元+ /年+ $ 5,000安装费。
答案 1 :(得分:1)
您可以考虑自己解析EPS文件。
您可以在网上找到各种文件格式信息,例如wotsit.org(自90年代以来就已存在,当时人们仍在从头开始编写他们需要的东西。)
这样做的好处是不需要将外部工件嵌入到您的解决方案中,也不会产生许可成本。它显然具有个人时间投资研发的缺点。之后,也许您可以与没有归属,版权保护或许可成本的其他人共享您的代码/库。
祝你好运!答案 2 :(得分:-1)
使用ImageMagickNET.dll,您可以将.eps,.ai,.psd,.tga文件转换为.jpg格式。 c#代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using SimplePsd;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Data.SqlClient;
using System.Configuration;
using System.Media;
using System.DirectoryServices;
using System.Diagnostics;
namespace Master_Graphics
{
public partial class Form1 : Form
{
private SimplePsd.CPSD psd = new SimplePsd.CPSD();
Process ffmpeg;
string video;
string thumb;
public Form1()
{
InitializeComponent();
}
private void button4_Click(object sender, EventArgs e)
{
ffmpeg = new Process();
ffmpeg.StartInfo.Arguments = "convert \"" + listBox1.SelectedItem.ToString() + "\" -background white -flatten -density 300 -colors 512 -antialias -normalize -units PixelsPerInch -quality 100 -colorspace RGB -resize 3425x3425 \"D:\\GRAPHICS SEARCH ENGINE\\GRAPHICS IMAGES\\EPS\\" + final + ".jpg\"";
ffmpeg.StartInfo.FileName = ("C:\\Program Files (x86)\\ImageMagick-6.5.3-Q16\\convert.exe");
ffmpeg.Start();
}