【问题标题】:error while converting text to image using php使用php将文本转换为图像时出错
【发布时间】:2011-09-21 18:14:25
【问题描述】:

// 创建图像 $im = imagecreatetruecolor(400, 30);

// 创建一些颜色 $white = imagecolorallocate($im, 255, 255, 255); $grey = imagecolorallocate($im, 128, 128, 128); $black = imagecolorallocate($im, 0, 0, 0); imagefilledrectangle($im, 0, 0, 399, 29, $white);

// 要绘制的文本 $text = 'अन्ग्रेज़ी से हिन्दी'; // 用自己的字体路径替换路径 $font = 'mangal.ttf';

// 给文本添加一些阴影 imagettftext($im, 20, 0, 11, 21, $grey, $font, $text);

// 添加文本 imagettftext($im, 20, 0, 10, 20, $black, $font, $text);

// 与 imagejpeg() 相比,使用 imagepng() 会产生更清晰的文本 imagepng($im); 图像销毁($im); ?>

输出文本与输入文本不同

【问题讨论】:

  • 我假设您的意思是要将文本呈现为图形?
  • 是的,是否可以使用 javascript
  • 我相信这是可能的。 Javascript 是图灵完备的,所以你可以做任何事情。现在是简单还是高效......以及是否有可用的库......这些是完全不同的问题。
  • 您到底想达到什么目的?您可以使用 canvas 元素轻松完成此操作。
  • 我已经编辑了我的问题,请看一下

标签: php


【解决方案1】:

是的,您可以为此使用<canvas>,请参阅:https://developer.mozilla.org/en/Drawing_text_using_a_canvas

【讨论】:

    【解决方案2】:

    不是直接的;不应允许 javascript 在图像等二进制元素的内脏中四处游荡。您可以使用画布元素呈现文本,或者应用 WebGL,但这可能不是您想要的。如果它绝对必须是图像,那么最便携的方法是制作一个 Web 应用程序,将文本呈现为图像并将其回显给客户端。使用它,您可以轻松获取一团文本,创建一个图像元素,将对象拉回,然后在浏览器中显示。

    【讨论】:

    • 我尝试在 php 中使用 imagettftext,它适用于英语,但不适用于印地语等印度语言。
    • 啊,那么您可能不走运使用该方法(无论如何通过 PHP)。我发现了以下关于本地化和 imagegettftext 的问题:stackoverflow.com/questions/2666105/missing-chars-in-jpgraph
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多