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

Php 什么是将文本更改为图像的好的简单类,php,image,text,Php,Image,Text,正如你们中的许多人可能已经知道的那样,我在另一个网站从我的网站复制文本时遇到了问题。这些数据是体育比赛的结果,起初并不完全准确,因为数据是在比赛中提交的,人们必须输入难以阅读的手写文字以及与传输数据相关的其他问题。目前我正在用假文本填充文本。它在某种程度上运行得很好。他们仍在复制文本,但他们正在手动删除假文本(这需要他们多花2个小时,呵呵)。我想让他们变得更加困难。我想将一些文本自动更改为图像。这需要他们将这些部分打印出来。什么是好的预科课程 我想您可以使用与PHP捆绑在一起的,从文本生成图像

正如你们中的许多人可能已经知道的那样,我在另一个网站从我的网站复制文本时遇到了问题。这些数据是体育比赛的结果,起初并不完全准确,因为数据是在比赛中提交的,人们必须输入难以阅读的手写文字以及与传输数据相关的其他问题。目前我正在用假文本填充文本。它在某种程度上运行得很好。他们仍在复制文本,但他们正在手动删除假文本(这需要他们多花2个小时,呵呵)。我想让他们变得更加困难。我想将一些文本自动更改为图像。这需要他们将这些部分打印出来。什么是好的预科课程

我想您可以使用与PHP捆绑在一起的,从文本生成图像

例如,类似的事情可能会(根据第页给出的示例改编):


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

  • 在服务器端,它需要更多的工作
  • 在客户端:
    • 加载需要更多的时间
    • 它不必使用与站点其他部分相同的字体(可能取决于浏览器的配置)
    • 字体不一定与站点的其他部分大小相同(相同注释)
    • 使用图像可能对缩放的人不好——尤其是看不清楚的人

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


我的观点是,如果你写的东西是事实,就没有侵犯版权(据我所知),而且它们可能会吸引不同于你自己的受众,因此你不妨将它们作为一种宣传工具来扩大你自己的受众。

这也会影响网站的可访问性。而且,除非你使用一些奇怪的字体,生成的图像可以很容易地进行光学字符识别。我做到了,他们多次将其删除。那肯定是我第一次尝试。此外,在未来,我将有一个网站,只为这些结果,他们将在直接竞争我。因此,我的部分目标是让他们尽可能难以复制。我对您的方法的问题是,您正处于某种DRM升级的边缘(您尝试了民事方法(通知),您尝试了混淆和模糊),但这不会成功。这将花费你的时间和资源,他们仍然会拿走你的东西:这是在互联网上,你唯一成功的选择,真的,是给你的网站增加足够的价值,让你成为人们第一个找到信息的地方,或者让他们玩得比转发你的东西更轻松……还有,如果你收到关于错误信息的投诉,这表明你已经有足够多的人从他们那里访问了你的网站。想办法让他们留下来是你最好的选择。他们如何提出投诉?如果你在网上发布一些表格,明确某人发布了不好的信息——因为他们是白痴和抄袭者——人们可能会留下来。如果他们没有添加任何内容,他们就不会与你竞争;你所要做的就是找到并增加潜在价值。((1)没有不屑一顾的意思。)
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;