Python Photoshop如何将类型格式转换为光栅化图层?

Python Photoshop如何将类型格式转换为光栅化图层?,python,c,photoshop,Python,C,Photoshop,我最近一直在考虑字体。我发现按键转换成以特定字体显示的字符的整个过程非常迷人。更让我着迷的是,每个角色都不是一个图像,而是打开(或关闭)的一组像素 在Photoshop中,当我制作一个文本层时,我假设它与文字处理器中的任何其他文本层一样。有一个标志符号附着在一个字符上并显示出来。所以从技术上讲,它仍然不是一个“图像”,可以在文字处理器中将其视为一个文本。但是,当光栅化文本层时,将使用使用的字体创建文本图像。谁能告诉我Photoshop是怎么做到的?我假设应该有一个包含角色图形的查找表,Photo

我最近一直在考虑字体。我发现按键转换成以特定字体显示的字符的整个过程非常迷人。更让我着迷的是,每个角色都不是一个图像,而是打开(或关闭)的一组像素

在Photoshop中,当我制作一个文本层时,我假设它与文字处理器中的任何其他文本层一样。有一个标志符号附着在一个字符上并显示出来。所以从技术上讲,它仍然不是一个“图像”,可以在文字处理器中将其视为一个文本。但是,当光栅化文本层时,将使用使用的字体创建文本图像。谁能告诉我Photoshop是怎么做到的?我假设应该有一个包含角色图形的查找表,Photoshop可以访问该表来栅格化图层


我想创建一个程序,在其中生成我正在按下的角色的图像(用C或Python之类的语言)。有什么方法可以做到这一点吗?

Adobe目前拥有可公开访问的文档。我需要从PSD文件中提取信息(大约一年前,但实际上是古老的CS2版本的Photoshop),因此我可以警告您,这不是轻松阅读,并且有一些部分(至少在CS2文档中)不完整或不准确。通常,即使您有文件格式的文档,您也需要进行一些反向工程来处理该文件格式

即便如此,有关Photoshop 6.0中的
TySh
块的信息,请参见(不确定它是否仍然是Photoshop的当前文本形式-“键入”)

无论如何,是-文本作为字符代码序列存储在内存和文件中。字体基本上是矢量艺术品的集合,因此可以将文本转换为矢量路径。这可以通过自己处理字体文件、在操作系统调用时使用(Windows肯定有一个字体文件,但我不记得它的名字,它现在正在困扰我,所以我以后可能会找到它),或者使用库来实现

一旦你有了矢量形式,基本上就是贝塞尔路径,就像任何其他矢量艺术品一样,可以用同样的方式渲染

或者直接从文本到像素,您只需要求Windows为您绘制文本-如果您不想绘制到屏幕上,可能会绘制到内存DC(设备上下文)

是一个用于处理字体的开源库。它绝对可以渲染为位图。我还没有检查过,但它可能也可以将文本转换为向量路径——毕竟,作为渲染到像素的一部分,它需要这样做

是另一个明显的库,可以查看字体处理和更多内容,但我自己从未直接使用过它


是另一个显而易见的库,它使用了与Windows类似的内存DC方案,尽管我不记得确切的类/方法名称。不过,将文本转换为向量可能超出了wxWidgets的范围。

Adobe目前有可公开访问的文档。我需要从PSD文件中提取信息(大约一年前,但实际上是古老的CS2版本的Photoshop),因此我可以警告您,这不是轻松阅读,并且有一些部分(至少在CS2文档中)不完整或不准确。通常,即使您有文件格式的文档,您也需要进行一些反向工程来处理该文件格式

即便如此,有关Photoshop 6.0中的
TySh
块的信息,请参见(不确定它是否仍然是Photoshop的当前文本形式-“键入”)

无论如何,是-文本作为字符代码序列存储在内存和文件中。字体基本上是矢量艺术品的集合,因此可以将文本转换为矢量路径。这可以通过自己处理字体文件、在操作系统调用时使用(Windows肯定有一个字体文件,但我不记得它的名字,它现在正在困扰我,所以我以后可能会找到它),或者使用库来实现

一旦你有了矢量形式,基本上就是贝塞尔路径,就像任何其他矢量艺术品一样,可以用同样的方式渲染

或者直接从文本到像素,您只需要求Windows为您绘制文本-如果您不想绘制到屏幕上,可能会绘制到内存DC(设备上下文)

是一个用于处理字体的开源库。它绝对可以渲染为位图。我还没有检查过,但它可能也可以将文本转换为向量路径——毕竟,作为渲染到像素的一部分,它需要这样做

是另一个明显的库,可以查看字体处理和更多内容,但我自己从未直接使用过它

是另一个显而易见的库,它使用了与Windows类似的内存DC方案,尽管我不记得确切的类/方法名称。不过,将文本转换为向量可能超出了wxWidgets的范围