gpt4 book ai didi

xaml - 将 Illustrator 或 pdf 文件处理为 XAML

转载 作者:行者123 更新时间:2023-12-04 17:58:37 26 4
gpt4 key购买 nike

将 Illustrator 文件或 PDF 处理为 XAML 的替代方法有哪些。我当前的工作流程是这样工作的:

  • 在 Adob​​e Illustrator 中打开 PDF 文件
  • 将文件另存为 .ai (Adobe Illustrator) 文件
  • 在表达式设计中打开
  • 做一些处理,主要是将元素分层,去除不需要的部分。
  • 另存为 XAML
  • 将 XAML 添加到 Blend 项目

  • 我唯一的问题是通过这种方式将文本转换为路径。我也想将我的文本保存在 XAML 中而不是路径中。

    有没有其他方法可以做到这一点,所以我保留了文本?还有其他工具吗?

    最佳答案

    我认为您想要的是拥有 Glyphs 元素而不是 Paths。
    问题在于 Glyphs 元素要求您指定字体文件的 URI。此外,Glyphs 元素通过在字体文件中的索引来引用字形(生成 Glyphs 元素的转换器(如 Microsoft XPS 文档编写器)可能会使用字体子集文件中的索引:因此这些索引可能不是正确的索引)与原始字体文件中定义的字形相同)。我已经能够使用我自己的 PDF 到 XAML 转换工具以两种方式“解决”这个问题。

    1.方法 :在生成的 XAML 代码中嵌入 BASE64 编码的字体子集文件,并让应用程序实现一个类,该类在加载时将嵌入的字体子集文件提取和解码到临时位置,并将有效的 URI 传递给该临时文件回到 XAML 加载器。

    或者, 2.方法 :大多数字体文件已经与我的应用程序一起安装,并再次添加我的应用程序的一些支持,在加载 XAML 代码时将字体名称替换为已安装字体文件的 URI。第二种方法的问题是字形索引需要正确映射到安装的字体文件,这可能不是那么简单。 (您可以在我的博客上找到为这种加载方式生成的示例文件的链接:特别是查看文件 truncatedcone-xaml.txt )

    简而言之:这两种解决方案都需要特殊的 PDF 到 XAML 转换器和加载应用程序的支持。我想这样做而不是仅仅将我的 PDF 转换为路径的原因是我的应用程序是一个共享白板:因此我希望我的矢量图形尽可能小。 (在大多数情况下,转换为路径往往会将 XAML 代码炸毁 10 倍或更多)。

    我正在考虑实现 第三种方法 :这将包括为每个只使用一次的字形生成轮廓,然后添加我的应用程序的支持,以类似于 Glyphs 元素所做的方式转换和定位这些字形轮廓,否则必须生成。优点是生成的 XAML 仍然相对较小(与上述第二种方法相比),而无需将相关字体文件与应用程序一起安装,也无需将字形索引从子集文件映射到已安装的字体文件。我还没有认真尝试实现这一点的原因有两个:首先,我目前的(第二种)方法已经非常适合我目前的需要;其次,在加载和/或渲染时,这第三种方法可能存在性能问题。

    关于xaml - 将 Illustrator 或 pdf 文件处理为 XAML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3551180/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com