Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk melaraskan kecerahan dan kontras imej menggunakan PHP

Bagaimana untuk melaraskan kecerahan dan kontras imej menggunakan PHP

王林
王林asal
2023-08-26 19:04:531235semak imbas

Bagaimana untuk melaraskan kecerahan dan kontras imej menggunakan PHP

Cara melaraskan kecerahan dan kontras gambar menggunakan PHP

Kecerahan dan kontras adalah salah satu faktor penting dalam melaraskan kesan visual gambar. Dalam pemprosesan imej, anda boleh menjadikan gambar lebih cerah atau lebih gelap dengan melaraskan kecerahan, dan anda boleh meningkatkan atau melemahkan perbezaan antara warna berbeza dalam gambar dengan melaraskan kontras.

PHP, sebagai bahasa skrip sebelah pelayan yang biasa digunakan, menyediakan pelbagai fungsi pemprosesan imej dan perpustakaan. Artikel ini akan memperkenalkan cara menggunakan PHP untuk melaraskan kecerahan dan kontras imej, dengan contoh kod.

  1. Laraskan kecerahan gambar

Melaraskan kecerahan gambar boleh dicapai dengan menukar nilai RGB piksel. Di bawah ialah contoh fungsi yang menggunakan perpustakaan PHP GD untuk melaraskan kecerahan imej.

function adjustBrightness($imagePath, $brightness) {
    $image = imagecreatefromjpeg($imagePath);
    $width = imagesx($image);
    $height = imagesy($image);

    for ($x = 0; $x < $width; $x++) {
        for ($y = 0; $y < $height; $y++) {
            $rgb = imagecolorat($image, $x, $y);
            $oldR = ($rgb >> 16) & 0xFF;
            $oldG = ($rgb >> 8) & 0xFF;
            $oldB = $rgb & 0xFF;

            $newR = $oldR + $brightness;
            $newG = $oldG + $brightness;
            $newB = $oldB + $brightness;

            $newR = max(0, min(255, $newR));
            $newG = max(0, min(255, $newG));
            $newB = max(0, min(255, $newB));

            $newRgb = ($newR << 16) + ($newG << 8) + $newB;

            imagesetpixel($image, $x, $y, $newRgb);
        }
    }

    imagejpeg($image, 'adjusted_image.jpg');
    imagedestroy($image);
}

// 使用示例
adjustBrightness('original_image.jpg', 50); // 将亮度增加50

Kod di atas merentasi setiap piksel imej, memperoleh nilai RGB asal dan mengira nilai RGB baharu berdasarkan nilai kecerahan yang ditentukan, kemudian menggunakan fungsi imagesetpixel untuk menetapkan nilai piksel baharu, dan akhirnya menghasilkan gambar Dilaraskan. imagesetpixel函数设置新的像素值,最终生成一张调整后的图片。

  1. 调整图片对比度

调整图片的对比度可以通过调整像素的RGB值的范围来实现。下面是一个示例函数,使用PHP GD库来调整图片的对比度。

function adjustContrast($imagePath, $contrast) {
    $image = imagecreatefromjpeg($imagePath);
    $width = imagesx($image);
    $height = imagesy($image);

    for ($x = 0; $x < $width; $x++) {
        for ($y = 0; $y < $height; $y++) {
            $rgb = imagecolorat($image, $x, $y);
            $oldR = ($rgb >> 16) & 0xFF;
            $oldG = ($rgb >> 8) & 0xFF;
            $oldB = $rgb & 0xFF;

            $newR = ($oldR - 127) * $contrast + 127;
            $newG = ($oldG - 127) * $contrast + 127;
            $newB = ($oldB - 127) * $contrast + 127;

            $newR = max(0, min(255, $newR));
            $newG = max(0, min(255, $newG));
            $newB = max(0, min(255, $newB));

            $newRgb = ($newR << 16) + ($newG << 8) + $newB;

            imagesetpixel($image, $x, $y, $newRgb);
        }
    }

    imagejpeg($image, 'adjusted_image.jpg');
    imagedestroy($image);
}

// 使用示例
adjustContrast('original_image.jpg', 1.5); // 将对比度增加1.5倍

以上代码通过遍历图片的每个像素,获取原始RGB值并根据指定的对比度值计算新的RGB值,然后使用imagesetpixel

    Laraskan kontras gambar

    🎜Melaraskan kontras gambar boleh dicapai dengan melaraskan julat nilai RGB piksel. Di bawah ialah contoh fungsi yang menggunakan perpustakaan PHP GD untuk melaraskan kontras imej. 🎜rrreee🎜Kod di atas merentasi setiap piksel imej, memperoleh nilai RGB asal dan mengira nilai RGB baharu berdasarkan nilai kontras yang ditentukan, kemudian menggunakan fungsi imagesetpixel untuk menetapkan nilai piksel baharu, dan akhirnya menghasilkan gambar Dilaraskan. 🎜🎜Menggunakan PHP untuk melaraskan kecerahan dan kontras imej boleh menyediakan pembangun tapak web dengan lebih banyak pilihan pemprosesan imej untuk mencapai kesan visual yang lebih baik. Semoga contoh kod dalam artikel ini akan membantu anda mencapai matlamat ini. 🎜

Atas ialah kandungan terperinci Bagaimana untuk melaraskan kecerahan dan kontras imej menggunakan PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn