C++/Java/Python 中的 PHP imagettftext() 等效函数
Posted
技术标签:
【中文标题】C++/Java/Python 中的 PHP imagettftext() 等效函数【英文标题】:PHP imagettftext() equivalent function in C++/Java/Python 【发布时间】:2012-05-08 18:29:50 【问题描述】:在 C++/Java/Python 库中是否有 php 函数 imagettftext() 的简单等价物?
http://php.net/manual/en/function.imagettftext.php
【问题讨论】:
【参考方案1】:在python中你可以使用PIL
:
from PIL import Image, ImageDraw, ImageFont
font = ImageFont.truetype("/usr/share/fonts/truetype/ttf-bitstream-vera/Vera.ttf", 18)
img = Image.open("test.jpg")
draw = ImageDraw.Draw(img)
draw.text((40, 40), "...sample text...", font=font, fill="red")
img.show()
在 java 中,您可以简单地在任何 java.awt.Image
实例上绘制:
import javax.imageio.*;
import java.awt.*;
import java.awt.image.*;
import java.io.*;
import javax.swing.*;
public class ImageTest
public static void main(String args[]) throws Exception
BufferedImage img = ImageIO.read(new File("test.jpg"));
Graphics2D g = img.createGraphics();
Font f = Font.createFont(
Font.TRUETYPE_FONT,
new File("/usr/share/fonts/truetype/ttf-bitstream-vera/Vera.ttf")
).deriveFont(18f);
g.setFont(f);
g.setColor(Color.RED);
g.drawString("test string", 40, 40);
JFrame jf = new JFrame("test");
jf.add(new JLabel(new ImageIcon(img)));
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setVisible(true);
jf.pack();
对于 c++,有很多图像库(imagemagick-bindings,CImg,...)
【讨论】:
以上是关于C++/Java/Python 中的 PHP imagettftext() 等效函数的主要内容,如果未能解决你的问题,请参考以下文章
从其他语言(如 Java、PHP、Perl、Python 等)调用 C/C++ 代码的最佳方法是啥?
讨教大学:零基础自学编程,选JAVA,Python还是PHP?