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?

腾讯云即时通信 IM 服务端 SDK for PHP

php 验证码 图像存在错误无法显示

Firefox 中的原生 Java/Python/Objective C?

学习java必须掌握的高级技能总结