我们在做生成分享图,生成验证码时,避免不了要使用此函数,此函数的作用是在图片上生成对应的字体。
2024年10月14日
都说程序员木讷无趣,今天就借机让大家领略一下什么叫隐藏在代码里的有趣灵魂。
话不多说,follow me!
1.离职彩蛋——会自杀的文件
离职时电脑里的文件带不走,又不想被别人捡漏?不妨给文件下一个“自杀”指令。直白地说就是在Excel文件的VBA里编制一段“自杀”代码,只要有人启用该文件的宏,文件就会神奇的消失,是不是有点奇幻色彩?
2024年10月14日
免责声明:本文所用所测试的环境均为自己搭建并提醒小伙伴们切勿对未授权的系统进行测试。
本文原创作者:3s_Nwgeek
原创投稿详情:重金悬赏 | 合天原创投稿等你来!
暴力破解,顾名思义,就是不断使用不同的账号和密码去猜测,猜测到成功为止,以达到目的猜测出真实密码。举个例子说,web应用中常常存在一些登陆页面,只要web应用中对尝试登陆次数没有限制,或者没有足够强大的人机识别(验证码)的话,就可以进行暴力破解,本文主要涉及web应用上登陆的暴力破解。如下图:
2024年10月14日
今晚在网上看到可以编程实现爱心图案,十分漂亮。
于是自己动手尝试一下,哈哈!使用的编程语言是PHP。
<?php
$width = 600;
$height = 650;
header("Content-type: image/gif");
$heart = imagecreate($width,$height);//创建一张图片
$bg_color = imagecolorallocate($heart,0,0,0);
2024年10月14日
在日常的开发过程中,GD 库最常用的功能就是帮我们对图片进行一些处理,当然,除了处理已有的图片之外,它也可以直接来画图,就像我们最常见的图片验证码。今天的内容主要就是和画图有关,所以最后我们也会做一个非常简单的图片验证码的例子。
首先,我们要先创建一个图片的画布。就和 PhotoShop 一样,任何的绘图都要在一张画布下进行。
2024年10月14日
源码如下:
<?php
class Captcha_code
{
var $width='60';
var $num='4';
var $height='20';
var $name='randcode';
public function __construct($conf="")
{
if($conf!="")
{
foreach($conf as $key=>$value)
2024年10月14日
本人后端程序员小学毕业, 水平有限,贻笑大方。
修改
vendor/topthink/think-image/src/Image.php 378行
/**
2024年10月14日
要在PHP中使用OpenCV去除图片水印,您需要执行以下步骤:
2024年10月14日
```php function pngMerge($o_pic,$out_pic){ $begin_r = 255; $begin_g = 250; $begin_b = 250; list($src_w, $src_h) = getimagesize($o_pic);// 获取原图像信息 宽高 $src_im = imagecreatefrompng($o_pic); //读取png图片 print_r($src_im); imagesavealpha($src_im,true);//这里很重要 意思是不要丢了$src_im图像的透明色 $src_white = imagecolorallocatealpha($src_im, 255, 255, 255,127); // 创建一副白色透明的画布 for ($x = 0; $x < $src_w; $x++) { for ($y = 0; $y < $src_h; $y++) { $rgb = imagecolorat($src_im, $x, $y); $r = ($rgb >> 16) & 0xFF; $g = ($rgb >> 8) & 0xFF; $b = $rgb & 0xFF; if($r==255 && $g==255 && $b == 255){ imagefill($src_im,$x, $y, $src_white); //填充某个点的颜色 imagecolortransparent($src_im, $src_white); //将原图颜色替换为透明色 } if (!($r <= $begin_r && $g <= $begin_g && $b <= $begin_b)) { imagefill($src_im, $x, $y, $src_white);//替换成白色 imagecolortransparent($src_im, $src_white); //将原图颜色替换为透明色 } } } $target_im = imagecreatetruecolor($src_w, $src_h);//新图 imagealphablending($target_im,false);//这里很重要,意思是不合并颜色,直接用$target_im图像颜色替换,包括透明色; imagesavealpha($target_im,true);//这里很重要,意思是不要丢了$target_im图像的透明色; $tag_white = imagecolorallocatealpha($target_im, 255, 255, 255,127);//把生成新图的白色改为透明色 存为tag_white imagefill($target_im, 0, 0, $tag_white);//在目标新图填充空白色 imagecolortransparent($target_im, $tag_white);//替换成透明色 imagecopymerge($target_im, $src_im, 0, 0, 0, 0, $src_w, $src_h, 100);//合并原图和新生成的透明图 imagepng($target_im,$out_pic); return $out_pic; } $o_pic = '1.png'; $name = pngMerge($o_pic,'aaaa.png'); print_r($name); ```
2024年10月14日
上篇文章我们已经学习了一个 GD 库的应用,那就是非常常用的制作验证码的功能。不过在现实的业务开发中,这种简单的验证码已经使用得不多了,大家会制作出更加复杂的验证码来使用。毕竟现在的各种外挂软件已经能够轻松地破解这种简单的图片验证码了。当然,我们也可以简单地对他进行变形,比如使用中文然后按顺序点击之类的,这些都比较简单地就能实现。更复杂的验证码则推荐使用一些开源的库或者api来实现。
今天,我们将继续学习 GD 库的一些常用的应用。依然是通过一些小例子来进行学习,同样也是我们在日常开发中非常常用的一些功能。