Chắc chắn có thể chuyển đổi SVG thành EMF, ví dụ: this website. Tôi tự hỏi nếu nó có thể đạt được chuyển đổi này trong C#?Cách chuyển đổi tệp SVG sang tệp EMF trong C#
Cập nhật:
Tôi cố gắng để đọc một tập tin SVG sử dụng SVG.NET và vẽ nó vào một đối tượng Graphics
, sau đó cố gắng xuất khẩu Image
như một Metafile trong phần mở rộng .emf (Tôi làm theo các hướng dẫn ở đây : GDI+/C#: How to save an image as EMF?). Việc đọc đã được thực hiện thành công và hình ảnh đã được xuất dưới dạng .emf. Tuy nhiên, khi tôi mở tệp .emf đó trong PowerPoint, nó không thể bỏ nhóm, điều này cho biết rằng thông tin bản vẽ của tệp đó thực sự không được đổ một cách chính xác.
Cập nhật 2:
Bây giờ nó không xuất khẩu một .emf ungroup-thể, nhưng ungrouping cho thấy một kết quả thực sự nghèo. Tôi đã sử dụng đoạn mã sau để sản xuất .emf:
private void OpenPictureButtonClick(object sender, EventArgs e)
{
var openFileDialog = new OpenFileDialog();
openFileDialog.ShowDialog();
_svgDoc = SvgDocument.Open(openFileDialog.FileName);
RenderSvg(_svgDoc);
}
private void SavePictureClick(object sender, EventArgs e)
{
var saveFileDialog = new SaveFileDialog {Filter = "Enhanced Meta File | *.Emf"};
saveFileDialog.ShowDialog();
var path = saveFileDialog.FileName;
var graphics = CreateGraphics();
var img = new Metafile(path, graphics.GetHdc());
var ig = Graphics.FromImage(img);
_svgDoc.Draw(ig);
ig.Dispose(); img.Dispose(); graphics.ReleaseHdc(); graphics.Dispose();
}
private void RenderSvg(SvgDocument svgDoc)
{
svgImageBox.Image = svgDoc.Draw();
}
nó đã được khoảng một năm và cuối cùng :) Tôi sẽ cố gắng giải pháp của bạn và trở lại với bạn sớm :) – nevets
Bất kỳ tin tức? Nó có hoạt động trên máy của bạn không? – Skaiol