什么是将文本更改为图像的简单类

时间:2009-09-13 13:42:32

标签: php image text

许多人可能已经知道我在使用其他网站从我的网站复制文本时遇到了问题。数据是体育结果,起初并不完全准确,因为数据是在活动中提交的,人们必须输入难以阅读的人手写作以及与传输数据相关的其他问题。目前我正在用假文本填充文本。它的部分工作非常好。他们仍在复制文本,但他们正在手动删除假文本(这需要他们大约2小时嘿)。我想让他们变得更加困难。我想将一些文本自动更改为图像。这将要求他们输出这些部分。什么是一个很好的预制课程?

2 个答案:

答案 0 :(得分:2)

我想你可以使用与PHP捆绑在一起的GD library来从文本生成图像。

例如,

这样的事情可能会做(改编自imagettftext页面上给出的例子)

header('Content-type: image/png');

// Create the image
$im = imagecreatetruecolor(400, 30);

// Create some colors
$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);

// The text to draw
$text = 'Hello, World!';
// Replace path by your own font path
$font = '/usr/share/fonts/truetype/msttcorefonts/verdana.ttf';

// Add some shadow to the text
imagettftext($im, 20, 0, 11, 21, $grey, $font, $text);

// Add the text
imagettftext($im, 20, 0, 10, 20, $black, $font, $text);

// Using imagepng() results in clearer text compared with imagejpeg()
imagepng($im);
imagedestroy($im);

die;


但请注意,使用图像而不是文本有一些缺点:

  • 在服务器端,它需要更多的工作
  • 在客户端:
    • 加载
    • 需要更多时间
    • 它不一定会使用与网站其他部分相同的字体(可能取决于浏览器的配置)
    • 字体的大小不一定与网站的其他部分相同(同一个音符)
    • 使用图像可能不适合放大的人 - 尤其是看不太好的人。

答案 1 :(得分:0)

如何在文本中添加某种形式的免责声明(“此文本由xyz.com创建,在dd / mm / yyyy上,有关更多最新信息,请访问我们的网站”)?使用您的文字作为您自己网站的宣传工具。此外,与他们取得联系,看看他们是否有兴趣通过某种形式的API使用您的网站,这可以减少他们的工作量,并让您更多地控制他们的使用(至少在理论上)。

我的论点是,如果你写的东西是真实的,那么就没有版权侵权(据我所知),它们可能会吸引不同于你自己的观众,所以你也可以使用它们作为一种扩大自己受众群体的宣传工具。