Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

如何使用PHP实现图片的黑白效果

作者:◇梦◆饭饭   发布日期:2023-09-21   浏览:340

可以使用PHP的GD库来实现图片的黑白效果。下面是一个简单的示例代码:

// 加载原始图片
$sourceImage = imagecreatefromjpeg('source.jpg');

// 获取图片的宽度和高度
$width = imagesx($sourceImage);
$height = imagesy($sourceImage);

// 创建一个新的黑白图片
$bwImage = imagecreatetruecolor($width, $height);

// 将原始图片转换为黑白图片
for ($x = 0; $x < $width; $x++) {
    for ($y = 0; $y < $height; $y++) {
        // 获取原始图片每个像素的颜色
        $rgb = imagecolorat($sourceImage, $x, $y);

        // 将颜色转换为灰度值
        $gray = round((imageRed($rgb) + imageGreen($rgb) + imageBlue($rgb)) / 3);

        // 创建新的黑白颜色
        $bwColor = imagecolorallocate($bwImage, $gray, $gray, $gray);

        // 在黑白图片上画出每个像素的颜色
        imagesetpixel($bwImage, $x, $y, $bwColor);
    }
}

// 输出黑白图片
header('Content-Type: image/jpeg');
imagejpeg($bwImage);

// 释放内存
imagedestroy($sourceImage);
imagedestroy($bwImage);

在上面的代码中,首先使用imagecreatefromjpeg()函数加载原始的JPEG图片。然后使用imagesx()imagesy()函数获取图片的宽度和高度。接下来,使用imagecreatetruecolor()函数创建一个与原始图片大小相同的黑白图片。然后,使用嵌套的for循环遍历原始图片的每个像素,获取每个像素的颜色,并将颜色转换为灰度值。最后,使用imagecolorallocate()函数创建新的黑白颜色,并使用imagesetpixel()函数在黑白图片上画出每个像素的颜色。最后,使用imagejpeg()函数输出黑白图片,并使用imagedestroy()函数释放内存。

上一篇:PHP编码小技巧:如何生成带有防伪验证功能的二维码?

下一篇:如何使用PHP实现批量导入商品库存功能

大家都在看

php session用法

phpisset函数

php后端

php爬虫框架

php读取csv文件

php 三元表达式

php文件加密

php 拆分字符串

php pcntl

php ||

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站